Rute anmodninger om sitemap.xml til brugerdefinerede controller / action
For at direkte anmodninger til / sitemap.xml til en brugerdefineret controller og handling i din Zend Framework ansøgning blot tilføje følgende i din application.ini eller alternative config fil (f.eks jeg bruger navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = indeks resources.router.routes.sitemap.defaults.action = sitemap
Eksempel kode for output kan ses ved at skabe en handling i den pågældende flyveleder (f.eks min sitemap ligger i indekset controller, sitemap handling):
< php klasse IndexController udvider Zend_Controller_Action { / ** * Gør en sitemap baseret på Zend_Navigation setup * / offentlig funktion sitemapAction () { echo $ this-> Vis-> navigation () -> sitemap (); $ This-> Vis-> layout () -> disableLayout (); $ This-> _helper-> viewRenderer-> setNoRender (sand); } }
Sitemaps kan hurtigt og nemt skal genereres ved hjælp af Zend_Navigation , en stor hurtig tutorial (og generelt meget nyttigt for Zend Framework tutorials) er Zend Casts - Dynamisk skabe en menu en sitemap og rasp .


















































En ting jeg glemte at nævne, er, at du også bliver nødt til at specificere din standard rute til din sitemap, ellers alle webadresser vil pege på / sitemap.xml hvis du bruger Zend_Navigation_Page_Mvc (hvis du leverer URI'er vil der ikke være et problem ).
For eksempel mit seneste projekt bruger følgende routing:
; ==============================
; 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 = indeks
resources.router.routes.sitemap.defaults.action = sitemap
Derfor efter min navigation.xml (eller hvad config du vælger at bruge), skal du angive ruten til anvendelse, f.eks
default.pro.pages.aboutUs.label = "Firmaprofil"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "om-os"
default.pro.pages.aboutUs.action = "index"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "www-index"
[...] En fortsættelse på mit sidste indlæg om Zend_Navigation, Rute anmodninger om sitemap.xml til brugerdefinerede controller / action, dette indlæg handler om dymnamically tilføje sider til en Zend_Navigation beholder ved runtime / script [...]