0

我在 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);
    }
4

1 回答 1

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);
于 2012-05-01T22:01:06.993 回答