2014-11-13 1 views
2

Я пытаюсь достичь ссылки как cake_proj/prefix2/controller2/action на этой странице Кто есть ссылка - cake-proj/ но 'prefix1' => true в моем routes.php, как это home страница, так что в конечном счете, его ссылка cake_proj/prefix1/controller1/action. Так что теперь я пытаюсь достичь cake_proj/prefix2/controller2/action с помощью ссылки HTML Helper вСвязи с другим префиксом на ранее приставку страницы в CakePHP: 2.5.4

ме-
<?php 
    echo $this->Html->link(
    '<i class="glyphicon glyphicon-group"></i> Test Link', array(
     'prefix' => 'prefix2', 
     'controller' => 'controller2', 
     'action' => 'prefix_action'), array(
     'escape' => FALSE) 
    ); 
?> 

Но с этим я получаю ссылку как cake_proj/prefix1/controller2/prefix_action уведомления здесь не изменить префикс. Я не хочу потерять возможности маршрутизации CakePHP, но все же хочу решить эту проблему. Я упомянул некоторые из ранее ответивших вопросов, но не работал для меня. Пожалуйста помоги.

ответ

3

Решение для вас .. хотя и не проверено отлично работает для меня. Вот решение, ура!

в AppController.php

public function beforeFilter() { 
     $this->set('prefixUsed',$this->request->prefix); 
} 

в your_view.ctp

<?php 
    echo $this->Html->link(
    '<i class="glyphicon glyphicon-group"></i> Test Link', array(
     $prefixUsed => false, 
     'prefix2' => true 
     'controller' => 'controller2', 
     'action' => 'prefix_action'), array(
     'escape' => FALSE) 
    ); 
?> 

Здесь идея установить в AppController.php переменной $prefixUsed будет использоваться каждый вид и даже по макетам в beforeFilter(), а затем используя эту переменную в представлениях, чтобы установить ее в false и сделать желаемый 'prefix' => true , Мы используем $prefixUsed для динамического определения префикса. Дайте мне знать, если это сработало или не для вас, до тех пор GoodBye ...;)

+0

Спасибо, что это сработало, как шарм спасибо ...: D – Iglance3

+0

Я рад, что он сработал! –

 Смежные вопросы

  • Нет связанных вопросов^_^