我正在输出特定模块的url,如下所示:
$this->view->url(array('controller'=>'index','action'=>'index','module'=>'somemodule'))
问题在于我查看:
/somemodule/action1/paramid/paramval
网址显示为:
/somemodule/index/index/paramid/paramval
当我真正想要的是:
/somemodule/
有什么想法吗?我使用了上面的url数组,因为我试图强制它显示正确的url。遗憾的是,简单地array('module'=>'somemodule')
不起作用......
答案 0 :(得分:0)
很奇怪,如果没有指定,我会认为它默认为索引/索引。您可以尝试使用Zend_Controller_Router_Route;
设置一些内容$router = $ctrl->getRouter(); // returns a rewrite router by default
$router->addRoute(
'user',
new Zend_Controller_Router_Route('somemodule',
array('module' => 'somemodule',
'controller' => 'index',
'action' => 'index'))
);
但是,您需要设置路由以将:id /:val捕获到变量中。您可以使用另一个addRoute()命名,命名每个变量前面的冒号。
$router->addRoute(
'user',
new Zend_Controller_Router_Route('somemodule/:id/:val',
array('module' => 'somemodule',
'controller' => 'index',
'action' => 'index'))
);
然后你应该能够在URL中查看没有索引/索引的模块,这可能会解决url helper的问题。
此处有更多信息http://framework.zend.com/manual/en/zend.controller.router.html