我把这段代码放在bootstrap文件中
//product category url managment
$defaults = array('controller'=>'productcat' , 'action'=>'catinfo' );
$productRoute = new Zend_Controller_Router_Route('productcat/:id/:title', $defaults);
$router = $frontController->getRouter();
$router->addRoute("productcat", $productRoute);
我把这段代码放在一个phtml文件中(布局中)
<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index")); ?>">about us</a>
但当我在这样的网址时:
http://quickstart.local/donyaye_fan_zend/public/
一切都好。
如果我这样去网址:http://quickstart.local/donyaye_fan_zend/public/productcat/1/sample
关于aboutus的链接不起作用,它在href !!!中显示当前页面网址
是什么原因?!
答案 0 :(得分:4)
您应指定要使用的默认路由。试试这个:
<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index"), 'default'); ?>">about us</a>
如果无效,请尝试使用以下方法重置路线:
<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index"), 'default', true); ?>">about us</a>
答案 1 :(得分:2)
如果路由不同,最好为每个不使用自定义路由的链接指定路由“default”。
这样:
<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index", "route"=>"default")); ?>">about us</a>
应该有效