我正在使用 Zend Framework 1.12。
我想添加一些路由器。我的系统中有用户和管理员,我添加了一个路由器供管理员查看用户页面。
我添加了
// meant to create the usage "xxx.com/userview/someusername"
$route = new Zend_Controller_Router_Route(
'userview/:username',
array('controller' => 'user',
'action' => 'viewone',
'username' => 'someusernamedefault')
);
$router = $frontController->getRouter();
$router->addRoute('userview', $route);
到我的 Bootstrap.php 文件。我的侧边栏中有一些链接,其中包含指向(另一个控制器的)操作的链接。我在 .phtml 文件中添加了他们的链接作为
echo $this->url(array('controller'=>'somecontroller', 'action'=>'someaction' ), null, true);
此侧边栏包含许多来自多个控制器的链接。
在我添加路线之前,这些工作正常。在我向 Bootstrap 添加新路由(并向从 rooter 指向的控制器(用户)添加新操作(viewall)后,效果很好(我可以用作“xxx.com/userview/someusername”)。但我的其他链接在侧边栏全部变成“xxx.com/userview”。他们都失去了控制器和动作的价值......
我究竟做错了什么??我应该更好地定义我的 url,还是更好地定义我的路由器?
提前致谢。