Route verzoeken om sitemap.xml aangepaste controller / actie
Met het oog op rechtstreekse verzoeken om / sitemap.xml om een aangepaste controller en acties in uw Zend Framework applicatie gewoon het volgende toevoegen in uw application.ini of alternatieve config-bestand (bijvoorbeeld gebruik ik navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = indexcijfer resources.router.routes.sitemap.defaults.action = sitemap
Voorbeeld code voor het uitvoeren van kan worden gezien door het creëren van een actie in de juiste controller (bv. mijn sitemap ligt in de index-controller, sitemap actie):
< php klasse IndexController breidt Zend_Controller_Action { / ** * Renders een sitemap op basis van Zend_Navigation setup * / publieke functie sitemapAction () { echo $ this-> view-> navigatie () -> sitemap (); $ This-> view-> lay-out () -> disableLayout (); $ This-> _helper-> viewRenderer-> setNoRender (true); } }
Sitemaps kunnen snel en eenvoudig worden gegenereerd met behulp van Zend_Navigation , een geweldige snelle tutorial (en in het algemeen zeer nuttig voor Zend Framework tutorials) is Zend Afgietsels - dynamisch genereren van een menu een sitemap en paneermeel .


















































Een ding dat ik vergat te vermelden is dat je ook je nodig hebt om uw standaard route voor uw sitemap opgeven, anders zijn alle URL's naar / sitemap.xml als je gebruik maakt Zend_Navigation_Page_Mvc (als je het leveren URI's zal er geen probleem ).
Bijvoorbeeld mijn laatste project maakt gebruik van de volgende 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 /: actie / *"
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 = indexcijfer
resources.router.routes.sitemap.defaults.action = sitemap
Dus in mijn navigation.xml (of welke config je besluit te gebruiken), moet u opgeven de routing te gebruiken, bijvoorbeeld
default.pro.pages.aboutUs.label = "Bedrijfsprofiel"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "over-ons"
default.pro.pages.aboutUs.action = "index"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "www-index"
[...] Een vervolg op mijn vorige post over Zend_Navigation, Route verzoeken om sitemap.xml aangepaste controller / actie, dit bericht gaat over dymnamically toevoegen van pagina's tot een Zend_Navigation container bij runtime / script [...]