Zend Frameworkでルーティング処理を行う場合の覚書
以下のように
$ctrl->addControllerDirectory(BASE_DIR.’application/backoffice/controllers’,'backoffice’);
でbackofficeモジュールを追加してあげた場合、ルーティング追加時にちゃんと
‘module’ => ‘backoffice’,
を指定してあげないと上手く動作しない。
デフォルトのshopではいらない為、少しハマッた。
参考書には意外とこのような重要な所が抜けていることがありますね。
まーちゃんと、リファレンスガイドを読みましょうと言うことです。
http://framework.zend.com/manual/ja/index.html
以下サンプルソース
$ctrl = Zend_Controller_Front::getInstance();
$router = $ctrl->getRouter();
$router->addRoute(‘backoffice/list’,
new Zend_Controller_Router_Route(‘backoffice/list/:p’,
array(
‘module’ => ‘backoffice’,
‘controller’ => ‘list’,
‘action’ => ‘index’,
‘p’ => 1)));
$ctrl->setParam(‘noViewRenderer’,true);
$ctrl->setDefaultModule(’shop’);
$ctrl->setControllerDirectory(BASE_DIR.’application/shop/controllers’);
$ctrl->addControllerDirectory(BASE_DIR.’application/backoffice/controllers’,'backoffice’);