我有一个路由到自定义模块的url。我在引导程序中添加了这一行。php
$router->addRoute('forum-board', new Zend_Controller_Router_Route(
'forum-board', array('module' => 'admin', 'controller' => 'users', 'action' => 'forumdisplay')
));
路线运行良好!
但是,在论坛显示的视图中,当我调用时:
<a href="<?= $this->url( array ( 'module' => 'admin',
'controller'=> 'users', 'action' => 'resetpass',
'userid'=>$userid)); ?>">Reset</a>
它不呈现URL。
当我打开与相同的页面时
http://zfProj12.local/admin/users/forumdisplay
它提供了正确的url,但在路由时,它没有,即作为
http://zfProj12.local/forum-board
有什么修复方法吗?
当您希望url()
视图辅助对象根据您定义的路由进行渲染时,您可以通过名称将路由引用为(例如,在视图脚本中):
<a href="<?= $this->url(array('userid' => 'myuserid'), 'forum-board', true) ?>">Forum</a>
更新
您对url助手的调用表明您希望路由接受userid参数,但路由定义本身没有占位符。也许路由应该定义为:
$router->addRoute('forum-board', new Zend_Controller_Router_Route(
'forum-board/:userid', array(
'module' => 'admin',
'controller' => 'users',
'action' => 'forumdisplay',
)
));
然后,当您使用userid
的值调用url帮助程序时,该值将被插入到生成的url中。