我创建了一条查看用户个人资料的路线:
$router = Zend_Controller_Front::getInstance()->getRouter();
$route = new Zend_Controller_Router_Route(
'profile/:username',
array(
'username' => 'username',
'module' => 'core',
'controller' => 'profile',
'action' => 'view'
)
);
$router->addRoute('profile',$route);
当我去那里时,页面中的所有网址现在都说http://127.0.0.1/project/public/profile。
我该如何解决这个问题?
答案 0 :(得分:0)
如果使用Url
视图助手或Zend_Navigation
,则需要指定要使用的路由,如果您不希望它使用当前路径。例如......
使用“默认”路线
<?php echo $this->url(array(
'action' => 'index',
'controller' => 'index'
), 'default', true) ?>
resources.navigation.pages.home.label = "Home"
resources.navigation.pages.home.action = "index"
resources.navigation.pages.home.controller = "index"
resources.navigation.pages.home.module = "default"
; Don't forget to set the route
resources.navigation.pages.home.route = "default"
配置路由的最简单方法是通过Router资源。在您的配置中尝试此操作,而不是您拥有的代码
resources.router.routes.profile.route = "profile/:username"
resources.router.routes.profile.defaults.module = "core"
resources.router.routes.profile.defaults.controller = "profile"
resources.router.routes.profile.defaults.action = "view"
答案 1 :(得分:0)
谢谢菲尔! 我遇到了同样的问题,你救了我;)
仅供参考,对于使用Zend Navigation的xml结构的人,只需为每条路线添加。
例如:
<?xml version="1.0" encoding="UTF-8"?>
<configdata>
<nav>
<myfirstroute>
<label>...</label>
<module>...</module>
<controller>...</controller>
<action>...</action>
**<route>default</route>**
</myfirstroute>
<mysecondroute>
<label>...</label>
<module>...</module>
<controller>...</controller>
<action>...</action>
**<route>default</route>**
</mysecondroute>
...
</nav>
</configdata>
见到你!