2011-11-11 74 views
1

我需要根據存儲在數據庫中的用戶值切換佈局。我想用插件設置它(嘗試過PreDispatch掛鉤)。但是,看起來我目前還無法訪問這些模型。什麼時候可以訪問db值並設置佈局?我更喜歡在全球範圍內完成此操作,而不是爲每個控制器設置。想法讚賞。如何根據Zend Framework中的數據庫值設置佈局

+1

preDispatch應該正常工作。你是如何試圖訪問模型的,你得到了什麼錯誤? –

+0

原來我的主要問題是路由,模型在我的preDispatch中工作。我將單獨發佈路由問題。謝謝! – jgnasser

回答

1

對於這樣的目的,更好地使用控制器插件

class Core_Controller_Plugin_LayoutManager extends Zend_Controller_Plugin_Abstract 
{ 
    public function routeStartup (Zend_Controller_Request_Abstract $request) 
    { 
     // Get your layout name here 

     $this->_layout = Zend_Layout::getMvcInstance() 
      ->setLayoutPath(YOUR_PATH_HERE) 
      ->setLayout(YOUR_LAYOT_NAME_HERE); 
    } 
} 

不要忘記添加在配置:

resources.frontController.plugins.templatemanager = Core_Controller_Plugin_LayoutManager 
+0

謝謝帕維爾。正如我上面所寫,主要問題是路由。一旦我明白,我會嘗試使用控制器插件,如你所建議的,看起來不錯。 – jgnasser

相關問題