2014-02-06 31 views
0

如標題所示,我想爲我的Zend Framework-1-Projekt中的每個模塊都有不同的錯誤視圖。沒有必要對每個模塊都有一個單獨的錯誤控制器,我嘗試過,我只是想使用不同的佈局文件,並且如果沒有錯誤 - 模塊中的佈局使用默認錯誤視圖作爲後備。到現在爲止,它總是使用「默認」錯誤控制器和「默認」 - 查看文件夾。有誰知道如何實現這一目標?我在Zend Framework中有點新鮮......所以我很抱歉,如果這是一個愚蠢的問題。Zend Framework 1:不同的錯誤 - 每個模塊的版式和腳本

回答

0

試試這個

$module = $request->getModuleName(); 
if (file_exists(APPLICATION_PATH . '/layouts/' . $module . '_error.html')) { 
    $module_err = $module . '_error' 
    Zend_Layout::getMvcInstance()->setLayout($module_err); 
} else { 
    //use default layout 
    ..... 
} 
+0

嘿,謝謝!但是我必須在Bootstrap.php中把這些代碼放在哪裏? – Vortilion

+0

您可以擴展您的錯誤處理程序插件 http://framework.zend.com/manual/1.12/en/zend.controller.plugins.html#zend.controller.plugins.standard.errorhandler – user1168095

0

當異常從模塊拋出,然後通過ErrorHandler控制器插件處理,然後分發到默認的錯誤控制器,視圖對象將設定爲尋找意見2個腳本迪爾斯:

原始模塊的,然後默認的。

所以你需要做的就是創建模塊特定的視圖腳本(比如application/modules/moduleA/views/scripts/error/error.phtml),它將被使用。

如果不存在,則使用默認值(application/views/scripts/error/error.phtml)。