在cakephp:2.5.4中的以前带前缀的页面上链接另一个前缀

时间:2014-11-13 12:25:49

标签: php cakephp-2.0 cakephp-routing

我正在尝试在此页面上显示cake_proj/prefix2/controller2/action的链接,我的cake-proj/中的链接为'prefix1' => trueroutes.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的路由功能,但仍想解决这个问题。我提到了一些以前回答的问题,但对我没有用。请帮忙。

1 个答案:

答案 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 ...;)