【问题标题】:How do I prevent HTMLHelper::link() from adding keywords to the URL path? (CakePHP 2.5)如何防止 HTMLHelper::link() 将关键字添加到 URL 路径? (CakePHP 2.5)
【发布时间】:2016-03-04 03:52:21
【问题描述】:

我有一个通用布局,带有一个用于打开特定页面的按钮:

<?php echo $this->Html->link('My cart', array('controller' => 'shop', 'action' => 'cart'), array('escape' => false)) ?>

此链接将重定向到页面 /shop/cart 。但是,如果我在使用另一个控制器的页面中,我就会遇到问题。示例:我在一个取决于 UsersController 的页面上,我的 URL 是:customer/,现在如果我点击“我的购物车”链接,URL 是:customer/shop/cart,这是一个错误。

如何清除我的网址?

谢谢。

【问题讨论】:

    标签: cakephp cakephp-2.5 cakephp-2.x


    【解决方案1】:

    您可能在 /Config/core.php 中将 customer 设置为路由前缀:

    Configure::write('Routing.prefixes', array('customer'));
    

    并且您正在从以 customer_ 开头的操作中链接到 /shop/cart。

    这是默认行为。

    要去掉前缀,重写链接如下:

    <?php echo $this->Html->link('My cart', array('controller' => 'shop', 'action' => 'cart','customer'=>false), array('escape' => false)) ?>
    

    更多关于Prefix Routing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2020-05-17
      • 2010-10-24
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多