Trasa žiadosti o sitemap.xml na vlastné radič / akcia
Za účelom priamych žiadostí / sitemap.xml na vlastné radič a akcie v Zend Framework aplikácie jednoducho pridajte nasledujúci text do vašej application.ini alebo alternatívne konfiguračný súbor (napr. používam navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = index resources.router.routes.sitemap.defaults.action = sitemap
Napríklad kód pre výstup môže byť videný tým, že vytvorí akciami v príslušných regulátora (napr. moja mapa stránok spočíva v indexe regulátora, Sitemap akcie):
< php trieda IndexController rozširuje Zend_Controller_Action { / ** * Omietky Sitemap na základe Zend_Navigation nastavenie * / verejnej funkcie sitemapAction () { echo $ this-> Zobraziť-> Navigácia () -> mapa stránok (); $ This-> Zobraziť-> layout () -> disableLayout (); $ This-> _helper-> viewRenderer-> setNoRender (true); } }
Sitemap možno rýchlo a ľahko získané pomocou Zend_Navigation , skvelý rýchly návod (a všeobecne veľmi užitočné pre Zend tutoriály Framework) je Zend Odliatky - dynamicky vytvára menu Sitemap a strúhankou .


















































Jedna vec, ktorú som zabudol spomenúť, je, že budete tiež musieť zadať svoje štandardné trasy pre váš súbor Sitemap, inak všetky adresy URL, bude ukazovať na / sitemap.xml, ak používate Zend_Navigation_Page_Mvc (ak ste dodáva URI tam nebude problém ).
Napríklad môj posledný projekt používa nasledujúce trasy:
; ==============================
; Zdrojov smerovanie
; ==============================
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 = ": regulátor /: akčný / *"
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
Preto sa v mojej navigation.xml (alebo čokoľvek config sa rozhodnete používať), budete musieť zadať smerovanie k použitiu, napr
default.pro.pages.aboutUs.label = "Profil"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "-o nás"
default.pro.pages.aboutUs.action = "index"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "www-index"
[...] Pokračovanie na môj posledný príspevok o Zend_Navigation, Route žiadosti o sitemap.xml na vlastné radič / akciu, tento post je asi dymnamically pridávanie stránok do Zend_Navigation kontajnera za behu / script [...]
Mám vážne problémy, nemôžem vyriešiť: (
Mám router.ini
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
a bootstrap.php
chránené funkcie _initRouter ()
{
$ FrontController = Zend_Controller_Front:: GetInstance ();
$ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini'.);
$ Router = $ frontController-> getRouter ();
$ Router-> addConfig ($ config, 'routeru');
}
a dostávam túto chybu:
Informácie o výnimke:
Správa: Neplatný uvedené radič (sitemap.xml)
Žiadosť Parametre:
array (
'Správca' => 'sitemap.xml',
'Akcia' => 'index',
'Module' = 'default'>,
)
Zdá sa, že vám chýba pár položiek, skúste aktualizovať Vaše cesty k zápasu:
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route_Static"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.controller = "index"
resources.router.routes.sitemap.action = "sitemap"
resources.router.routes.sitemap.defaults.module = "www"
resources.router.routes.sitemap.defaults.controller = "index"
resources.router.routes.sitemap.defaults.action = "sitemap"
resources.router.routes.sitemap.defaults.route = "www-index"