我有一个常用的布局,其中有一个用于打开特定页面的按钮:
<?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)) ?>
有关前缀路由的详细信息。