我有一个共同的布局,其中包含一个用于打开特定页面的按钮:
<?php echo $this->Html->link('My cart', array('controller' => 'shop', 'action' => 'cart'), array('escape' => false)) ?>
此链接将重定向到页面/shop/cart
。但如果我在使用另一个控制器的页面中,我有一个问题。示例:我在一个页面上取决于UsersController,我的URL是:customer/
现在,如果我点击“我的购物车”链接,则URL为:customer/shop/cart
这是一个错误。
如何清除我的网址?
感谢。
答案 0 :(得分:2)
您可能已将 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)) ?>
更多关于Prefix Routing。