首先,我想这样做,当用户导航到test.com/username这将他带到test.com/account/profile/name/username,所以我添加了这条路线Zend路线越来越混乱
$fc = Zend_Controller_Front::getInstance();
$router = $fc->getRouter();
$route = new Zend_Controller_Router_Route(
':name',
array('controller' => 'account', 'action' => 'profile'));
$router->addRoute('profile',$route);
和它使人们的工作,但现在当我使用下面的链接
<a href="<?php echo $this->url(array(
'controller' =>'account',
'action'=>'update'), 'default',true);?>">Settings</a>
我猜它被“混乱”,并使用上述路线,因为它没有去测试。 com/account/update ..
我是否必须为更新操作添加其他路由?这不是说我必须为与帐户控制器相关的所有操作添加新路线吗?
这里有什么帮助吗? :)
编辑:问题是,该链接重定向到test.com/account/update,但它认为“帐户”是上述路由中定义的参数(如在test.com/name ),而不是控制器,因此将其重定向到“配置文件”操作。
从你的问题来看,问题不是很清楚。 URL助手是输出错误的lin,还是输出的链接被错误的路由匹配?或者你只是不确定如何将动作传递给你的个人资料路线? – 2013-02-13 19:41:24
对不起,我更新了这篇文章,希望现在有点清楚.. – Systemfreak 2013-02-13 19:46:28
因此,您的个人资料路线中是否有/ account/update的请求?因为我没有看到具有两个参数的路线可以如何与具有一个参数的路线相匹配。这些路线是否明确定义为您的问题? – 2013-02-14 09:13:17