sitemap.xml的請求路由到自定義的控制器/動作
以直接請求/ sitemap.xml的一個自定義的控制器和行動中的Zend Framework的應用程序只需添加以下的application.ini或替代你的配置文件(例如我使用navigation.ini):
resources.router.routes.sitemap.route =“sitemap.xml的” resources.router.routes.sitemap.defaults.controller =指數 resources.router.routes.sitemap.defaults.action =網站地圖
示例代碼輸出可以看出,通過創建一個動作在適當的控制器(如我的Sitemap在於指數控制器,地圖行動):
< PHP的 類 IndexController 延伸Zend_Controller_Action { / ** *呈現一個地圖的基礎上Zend_Navigation設置 * / 公共職能 sitemapAction() { 迴聲 $這個 ->“查看->”導航() - >“網站地圖(); $這個 ->“查看->”佈局() - >“disableLayout(); $這個 -> _helper -> ViewRenderer中-> setNoRender(真); } }
站點地圖可以快速,方便地生成使用Zend_Navigation ,一個偉大的快速教程(一般為Zend框架非常有用的教程)是Zend的石膏 - 動態創建菜單地圖和麵包屑 。


















































有一點我忘了提的是,你還需要指定你的標準路線的地圖,否則,所有網址會指向/ sitemap.xml的,如果你使用Zend_Navigation_Page_Mvc(如果你提供的URI不會有問題)。
比如我最新的項目使用以下路由:
; ==============================
;資源路由
; ==============================
resources.router.routes.www.type =“Zend_Controller_Router_Route_Hostname”
resources.router.routes.www.route =“:module.example.com”
resources.router.routes.www.defaults.module =“默認”
resources.router.routes.www.chains.index.type =“Zend_Controller_Router_Route”
resources.router.routes.www.chains.index.route =“:控制器/:動作 / *”
resources.router.routes.www.chains.index.defaults.controller =“指數”
resources.router.routes.www.chains.index.defaults.action =“指數”
resources.router.routes.sitemap.type =“Zend_Controller_Router_Route”
resources.router.routes.sitemap.route =“sitemap.xml的”
resources.router.routes.sitemap.defaults.controller =指數
resources.router.routes.sitemap.defaults.action =網站地圖
因此,在我的navigation.xml(或任何配置您決定使用),你需要指定的路由使用,例如
default.pro.pages.aboutUs.label =“公司簡介”
default.pro.pages.aboutUs.module =“www”的
default.pro.pages.aboutUs.controller =“關於美”
default.pro.pages.aboutUs.action =“指數”
default.pro.pages.aboutUs.resource =“www_pages”
default.pro.pages.aboutUs.route =“www的指數”
[...]延續在我的最後一篇文章關於 Zend_Navigation,為 sitemap.xml的請求路由到自定義控制器/動作,這個職位是關於 dymnamically添加頁面到Zend_Navigation容器在運行時 /腳本 [...]