如何阻止HTMLHelper::link()将关键字添加到URL路径?(CakePHP 2.5)



我有一个常用的布局,其中有一个用于打开特定页面的按钮:

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

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

如何清除我的URL?

谢谢。

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

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)) ?>

有关前缀路由的详细信息。

最新更新