0

ZF 1 には 2 つのモジュールがあります。1 つはモジュールで、もう 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/*(失敗します。

ここでルートチェーンを使用しても、実際には何も得られません。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 に答える