Trasa žádosti o sitemap.xml na vlastní řadič / akce
Za účelem přímých žádostí / sitemap.xml na vlastní řadič a akce v Zend Framework aplikace jednoduše přidejte následující text do vaší application.ini nebo alternativní konfigurační soubor (např. používám navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = index resources.router.routes.sitemap.defaults.action = sitemap
Například kód pro výstup může být viděn tím, že vytvoří akcí v příslušných regulátoru (např. moje mapa stránek spočívá v indexu regulátoru, Sitemap akce):
< php třída IndexController rozšiřuje Zend_Controller_Action { / ** * Omítky Sitemap na základě Zend_Navigation nastavení * / veřejné funkce sitemapAction () { echo $ this-> Zobrazit-> Navigace () -> mapa stránek (); $ This-> Zobrazit-> layout () -> disableLayout (); $ This-> _helper-> viewRenderer-> setNoRender (true); } }
Sitemap lze rychle a snadno získány pomocí Zend_Navigation , skvělý rychlý návod (a obecně velmi užitečné pro Zend tutoriály Framework) je Zend Odlitky - dynamicky vytváří menu Sitemap a strouhankou .


















































Jedna věc, kterou jsem zapomněl zmínit, je, že budete také muset zadat své standardní trasy pro váš soubor Sitemap, jinak všechny adresy URL, bude ukazovat na / sitemap.xml, pokud používáte Zend_Navigation_Page_Mvc (pokud jste dodává URI tam nebude problém ).
Například můj poslední projekt používá následující trasy:
; ==============================
; Zdrojů směrování
; ==============================
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
Proto se v mé navigation.xml (nebo cokoliv config se rozhodnete používat), budete muset zadat směrování k použití, např.
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čování na můj poslední příspěvek o Zend_Navigation, Route žádosti o sitemap.xml na vlastní řadič / akci, tento post je asi dymnamically přidávání stránek do Zend_Navigation kontejneru za běhu / script [...]
Mám vážné problémy, nemohu vyřešit: (
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áněné funkce _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ávám tuto chybu:
Informace o výjimce:
Zpráva: Neplatný uvedené řadič (sitemap.xml)
Žádost Parametry:
array (
'Správce' => 'sitemap.xml',
'Akce' => 'index',
'Module' = 'default'>,
)
Zdá se, že vám chybí pár položek, zkuste aktualizovat 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"