Route beiðnir um sitemap.xml til sérsniðna stjórnandi / aðgerð
Til þess að beina beiðnum um / sitemap.xml til sérsniðna stjórnandi og aðgerða í þínum Zend Framework forritinu einfaldlega bæta við eftirfarandi í application.ini eða aðra config skrá (td ég nota navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = vísitölu resources.router.routes.sitemap.defaults.action = sitemap
Td kóðann fyrir outputting má sjá með því að búa til aðgerðar í viðeigandi stjórnandi (td sitemap mitt liggur í vísitölunni stjórnandi, sitemap aðgerð):
< PHP bekknum IndexController nær Zend_Controller_Action { / ** * Renders sitemap byggt á Zend_Navigation skipulag * / opinbera virka sitemapAction () { echo $ this-> view-> flakk () -> sitemap (); $ This-> view-> skipulag () -> disableLayout (); $ This-> _helper-> viewRenderer-> setNoRender (true); } }
Veftré geta fljótt og auðveldlega hægt að mynda með Zend_Navigation , frábær fljótur Tutorial (og almennt mjög gagnlegt fyrir Zend Framework námskeið) er Zend Skráning á póstlista - Dynamically búa í valmynd sitemap og brauðrasp .


















































Eitt sem ég gleymdi að nefna er að þú þarft einnig að tilgreina venjulegu leiðina fyrir sitemap, annars allar slóðir vilja benda á / sitemap.xml ef þú notar Zend_Navigation_Page_Mvc (ef þú ert að afgreiða URI það mun ekki vera vandamál ).
Til dæmis nýjasta verkefnið mitt notar eftirfarandi vegvísun:
; ==============================
; Resource Bankanúmer
; ==============================
resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route = ": module.example.com"
resources.router.routes.www.defaults.module = "sjálfgefið"
resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.www.chains.index.route = ": stjórnandi /: aðgerð / *"
resources.router.routes.www.chains.index.defaults.controller = "vísitölu"
resources.router.routes.www.chains.index.defaults.action = "vísitölu"
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = vísitölu
resources.router.routes.sitemap.defaults.action = sitemap
Því í navigation.xml minn (eða hvað config þú ákveður að nota), munt þú þurfa að tilgreina vegvísun til notkunar, td
default.pro.pages.aboutUs.label = "Fyrirtækið"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "um-okkur"
default.pro.pages.aboutUs.action = "vísitölu"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "www-vísitalan"
[...] Framhald á síðustu færslu mína um Zend_Navigation, Route beiðnir um sitemap.xml til sérsniðna stjórnandi / aðgerð, this staða er um dymnamically bæta síðum við Zend_Navigation gámur á afturkreistingur / script [...]
Ég hef alvarleg vandamál, ég get ekki leyst hana: (
Ég hef router.ini
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = vísitölu
resources.router.routes.sitemap.defaults.action = sitemap
og bootstrap.php
vernda virka _initRouter ()
{
$ FrontController = Zend_Controller_Front:: getInstance ();
$ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini'.);
$ Leið = $ frontController-> getRouter ();
$ Leið-> addConfig ($ config, 'leið');
}
og ég fæ þessa villu:
Undantekning upplýsingar:
Message: Invalid stjórnandi tilgreint (sitemap.xml)
Request Parameters:
array (
'Stjórnandi' sitemap.xml '=>,
'Aðgerð' Vísitala '=>,
'Module' = 'Sjálfgefið'>,
)
Það virðist sem þú ert að missa af nokkrum færslum, reyna að uppfæra leiðir til að passa:
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route_Static"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.controller = "vísitölu"
resources.router.routes.sitemap.action = "sitemap"
resources.router.routes.sitemap.defaults.module = "www"
resources.router.routes.sitemap.defaults.controller = "vísitölu"
resources.router.routes.sitemap.defaults.action = "sitemap"
resources.router.routes.sitemap.defaults.route = "www-vísitalan"