Ruta ng mga kahilingan para sa sitemap.xml sa pasadyang controller / action
Upang direktang kahilingan para sa / sitemap.xml sa isang pasadyang controller at pagkilos sa iyong Zend Framework application idagdag lamang ang mga sumusunod sa inyong application.ini o alternatibong config file (halimbawa gamitin ko navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = index resources.router.routes.sitemap.defaults.action = sitemap
Halimbawa code para sa outputting ay makikita sa pamamagitan ng paglikha ng isang aksyon sa nararapat na controller (eg aking sitemap kasinungalingan ang index controller, sitemap action):
< php class IndexController nagpalawak Zend_Controller_Action { / ** * Nagpapakita ng isang sitemap batay sa Zend_Navigation setup * / pampublikong function sitemapAction () { echo $ ito-> view-> nabigasyon () -> sitemap (); $ Na ito-> view-> layout () -> disableLayout (); $ Na ito-> _helper-> viewRenderer-> setNoRender (true); } }
Sitemaps ay maaaring mabilis at madali mabubuo gamit Zend_Navigation , isang mahusay na mabilis na tutorial (at sa pangkalahatan ay lubhang kapaki-pakinabang para sa Zend Framework tutorials) ay Zend cast - magilas na ang paglikha ng isang menu ng isang sitemap at breadcrumbs .


















































Isang bagay na nakalimutan ko na banggitin ay na makikita mo rin na tukuyin ang iyong mga standard na ruta para sa iyong sitemap, kung hindi man lahat ng mga URL ay tumuturo sa / sitemap.xml kung gumamit ka ng Zend_Navigation_Page_Mvc (kung ikaw ay supplying mga URI doon ay hindi isang problema ).
Halimbawa ang aking pinakabagong proyekto ay gumagamit ng mga sumusunod na route:
; ==============================
; Resource Routing
; ==============================
resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route = ": module.example.com"
resources.router.routes.www.defaults.module = "default"
resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.www.chains.index.route = ": controller /: action / *"
resources.router.routes.www.chains.index.defaults.controller = "index"
resources.router.routes.www.chains.index.defaults.action = "index"
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = index
resources.router.routes.sitemap.defaults.action = sitemap
Kaya't sa aking navigation.xml (o kahit na ano config magpasya kang gumamit), kailangan mong tukuyin ang routing gamitin, hal
default.pro.pages.aboutUs.label = "Company profile"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "tungkol sa-amin"
default.pro.pages.aboutUs.action = "index"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "www-index"
[...] Isang pagpapatuloy sa aking huling post tungkol Zend_Navigation, Route kahilingan para sitemap.xml sa pasadyang controller / action, ang post na ito ay tungkol sa pagdagdag ng dymnamically mga pahina sa isang lalagyan Zend_Navigation sa runtime / script [...]