我正在尝试在此页面上显示cake_proj/prefix2/controller2/action
的链接,我的cake-proj/
中的链接为'prefix1' => true
但routes.php
,因为这是{ {1}}页面,因此最终其链接为home
。所以现在我试图在Html帮助器链接方法的帮助下实现cake_proj/prefix1/controller1/action
-
cake_proj/prefix2/controller2/action
但有了这个,我在<?php
echo $this->Html->link(
'<i class="glyphicon glyphicon-group"></i> Test Link', array(
'prefix' => 'prefix2',
'controller' => 'controller2',
'action' => 'prefix_action'), array(
'escape' => FALSE)
);
?>
注意到这里的链接,它没有改变前缀。我不想放弃CakePHP的路由功能,但仍想解决这个问题。我提到了一些以前回答的问题,但对我没有用。请帮忙。
答案 0 :(得分: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)
);
?>
这里的想法是在$prefixUsed
中设置变量AppController.php
以供每个视图使用,甚至是beforeFilter()
中的布局,然后将该变量用于视图中以设置这是假的,并且是你想要的'prefix' => true
。我们使用$prefixUsed
来动态确定前缀。让我知道这是否适合你,直到那时GoodBye ...;)