撰寫layout的controller plugin

更換網站樣板是網站設計常做的事情,使用Zend Framework可以輕鬆更換設計好的各式樣板,更換樣板可以撰寫front controller 的plugin進行樣板的替換,不但簡潔快速,一旦更新後的樣板有問題,要換回原樣板也是非常快的,而要讓不同頁面有不同樣板也可以在plugin裡頭寫上各種判斷邏輯,進行樣板的更換。

 

程式邏輯

判斷controller及action的名稱都是index後,採用名為layout的樣板替換為原網站的樣板。

 
class Totou_Plugin_Layout extends Zend_Controller_Plugin_Abstract{
    public function preDispatch(Zend_Controller_Request_Abstract $request){
    $layout=Zend_Layout::getMvcInstance();
    if($request->getControllerName()=='index' &&   $request->getActionName()=='index'){
        $layout->setLayout('layout');
    }
  }
}
 

分類:Zend Framework