2009-07-11 114 views

回答

5
+0

我發現使用Zend_Config_XML和一個XML文件進行導航配置是一個順利的方式來做到這一點。謝謝。 – farzad 2009-07-15 03:47:50

7

獲得麪包屑是很容易的:

  • 與關鍵Zend_Navigation登記在Zend_Registry您在引導(或其他地方)創建了Zend_Navigation對象。那樣的話,這個對象就會被所有的導航視圖幫手所吸引。
  • 如果您使用新的Zend_Application式引導,您可以簡單地使用Zend_Application_Resource_Navigation資源來設置導航。只需在您的配置中設置resources.navigation.storage.registry = true即可。
  • 然後,您只需

    echo $this->navigation()->breadcrumbs() 
    
    在您的視圖或佈局腳本

談到如何定義頁面層次結構,我會說,如果你有一個莫名其妙體積更小,靜態網站,你可以簡單地定義你的配置中的頁面(使用新的Zend_Application -bootstrapping-時方法):

resources.navigation.pages.home.label  = "Home" 
resources.navigation.pages.home.action  = "index" 
resources.navigation.pages.home.controller = "index" 
resources.navigation.pages.login.label  = "Login" 
resources.navigation.pages.login.action  = "login" 
resources.navigation.pages.login.controller = "users" 
resources.navigation.pages.users.label  = "Users" 
resources.navigation.pages.users.action  = "list" 
resources.navigation.pages.users.controller = "users" 
resources.navigation.pages.users.pages.show.label  = "Show" 
resources.navigation.pages.users.pages.show.action  = "show" 
resources.navigation.pages.users.pages.show.controller = "users" 
... 

另外,您可以使用一個額外的配置文件,或者你可以在一個前端控制器插件或一個動作助手,如建立自己的頁面層次結構如果你有一個相當大的站點結構,並且不想在每個請求上實例化整個站點地圖。這樣您也可以插入動態頁面,其標籤例如是基於請求參數動態創建的。

+0

很棒的回答。 我們有一個控制器插件,用於爲整個站點生成導航容器,並將其緩存以供後續請求使用。絕對推薦小型網站的配置解決方案。 – 2009-07-11 14:57:40