對於新的CMS,我開發了一個頁面模塊,它允許我管理網站的樹結構。每個頁面都可從URL http://www.example.com/pageslug/到達,其中Pagelug標識正在調用的頁面。通過PageController路由除現有控制器之外的所有請求(Zend Framework)
我現在想要實現的是一種路由,它允許我將所有傳入請求路由到單個PagesController,除非它是對現有控制器(例如圖像)的請求。
向頁面控制器發送所有請求很容易,但如何排除現有的控制器? 這是我的模塊引導程序。我如何能在最preferrable方式
<?php
class Default_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initRoute()
{
$this->bootstrap('frontController');
/* @var $frontcontroller Zend_Controller_Front */
$frontcontroller = $this->getResource('frontController');
$router = $frontcontroller->getRouter();
$router->addRoute(
'all',
new Zend_Controller_Router_Route('*',
array('controller' => 'pages',
'action' => 'view')
)
);
}
}
很好的問題,我沒有找到適合這種情況的解決方案 - 我使用黑客和技巧,我認爲最優雅的方式是「編寫自定義路由類」,如第二回答中推薦的 – 2010-03-29 10:13:13