我在ZF 1中有两个模块,一个是模块,另一个是初始应用程序本身,我的问题是在编辑与记录交互时,我需要在动作后提交一个Id动态编号。
下面的代码不起作用我无法理解问题出在哪里......任何想法或消息? 无法正常工作=无法识别ID部分
protected function _initRoutes()
{
$ctrl = Zend_Controller_Front::getInstance();
$router = $ctrl->getRouter();
$primary = new Zend_Controller_Router_Route_Module(
array()
,$ctrl->getDispatcher()
,$ctrl->getRequest()
);
$secondary = new Zend_Controller_Router_Route(
':id', array( 'id' => "\d+" )
);
$primary->chain($secondary);
$router->addRoute("default", $primary);
}
答案 0 :(得分:0)
问题可能是模块路由在末尾包含标准通配符,它匹配键/值对(:module/:controller/:action/*
),因此这条路由匹配整个URL,因为第二条路径没有匹配的路线,整体比赛失败。
在这里使用路由链接你真的没什么收获。你最好只使用Zend_Controller_Router_Route:
$route = new Zend_Controller_Router_Route(
':module/:controller/:action/:id',
array(
'module' => 'default',
'controller' => 'index',
'action' => 'index'
),
array(
'id' => "\d+"
)
);
$router->addRoute('default', $route);