2010-03-20 20 views
0

大家好,我的問題與Zend框架... 3小時搜索後,遺憾的是沒有解決:如何在模塊中不可用時加載視圖 - 默認模板? Zend框架

我有一個模塊化的Zend應用程序,這是工作的罰款,如果我有我的模塊和錯誤模板調用的模塊中。 如果我刪除錯誤/ error.phtml出意見/腳本/致命錯誤時顯示出來,沒有目錄。

短長話短說:我怎樣才能定義Zend公司將退回到默認模塊在這種情況呢?

非常感謝提前。

回答

1

渲染時的觀點,有一種「堆疊」的,視圖渲染着眼於爲路徑,以您的視圖腳本。將腳本路徑添加到視圖的順序決定了查找順序。所以:

$view = new Zend_View(); 
$view->addScriptPath(APPLICATION_PATH . "/default/views/scripts/") 
    ->addScriptPath(APPLICATION_PATH . "/modules/module/views/scripts/"); 

在上面,它會先查看「/模塊...」,然後選擇「/默認...」,然後將實際查找視圖在當前目錄該腳本正在爲您的視圖腳本運行。

你也可以用同樣的方法添加布局路徑。另外一個提示,我發現這是改變viewScriptPathSpec,它告訴視圖中的文件路徑來呈現有用:

$this->_helper->viewRenderer->setViewScriptPathSpec(":controller/:action.:suffix"); 

這是默認設置,我相信,但如果你喜歡,你可以改變它。例如,我有一個CMS模塊,無論控制器名稱是什麼,它總是呈現腳本中的「污物」視圖腳本文件夾:

$this->_helper->viewRenderer->setViewScriptPathSpec("crud/:action.:suffix"); 
+0

的作品就像一個魅力...不幸的是沒有什麼好在網上找到這個。 我非常喜歡這個網站,反應速度非常快,而且這些網站的質量都非常好。再次感謝。 有一天在將來,當IAM Zend的親:)我會提供我的幫助,這裏太:) 第二個技巧是真正的好! – Oliver 2010-03-20 21:48:31

+0

@Oliver Zend文檔非常棒。我發現在頁面上的相同教程視圖控制器:http://framework.zend.com/manual/en/zend.view.controllers.html – typeoneerror 2010-03-20 22:28:17

+0

@Oliver不要忘記投票我的回答並使其作爲「最好的答案」,如果它幫助你。這就是網站的工作原理:) – typeoneerror 2010-03-20 22:28:54