Пат барања за sitemap.xml да обичај контролер / акција
Со цел да директни барања за / sitemap.xml да обичај контролорот и акција во вашиот Zend Рамковниот апликација едноставно додадете го следново во Вашиот application.ini или алтернативна конфигурациска датотека (на пример јас го користам navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = индексот resources.router.routes.sitemap.defaults.action = Мапа на сајтот
Пример код за Ставање може да се види со создавање на акцијата во соодветната контролер (на пример, мојата карта е во индекс контролор, карта акција):
< PHP класа IndexController протега Zend_Controller_Action { / ** * Приказ Мапа на сајтот врз основа на Zend_Navigation подесување * / јавна функција sitemapAction () { echo $ ова-> View-> навигација () -> Мапа на сајтот (); $ Ова-> View-> распоред () -> disableLayout (); $ Ова-> _helper-> viewRenderer-> setNoRender (вистинска); } }
Sitemaps лесно може брзо и се создава со користење на Zend_Navigation , голем брз туториал (и обично се многу корисни за Zend Рамковниот вежби) е Zend фрла - Динамички креирање на мени Мапа на сајтот и breadcrumbs .


















































Едно нешто што заборавив да ја споменам е дека исто така ќе треба да го одредите вашиот стандард рута за вашиот Мапа на сајтот, во спротивно сите адреси ќе укажуваат на / sitemap.xml ако користите Zend_Navigation_Page_Mvc (ако сте се снабдуваат со URI нема да има проблем ).
На пример мојот најнов проект користи следниве рутирање:
; ==============================
; Ресурси Рутирање
; ==============================
resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route = "module.example.com"
resources.router.routes.www.defaults.module = "стандардните"
resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.www.chains.index.route = "контролер /: акција / *"
resources.router.routes.www.chains.index.defaults.controller = "индекс"
resources.router.routes.www.chains.index.defaults.action = "индекс"
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = индексот
resources.router.routes.sitemap.defaults.action = Мапа на сајтот
Затоа во мојот navigation.xml (или што конфигурација ќе одлучите да се користи), ќе мора да се специфицира за рутирање да се користи, на пример,
default.pro.pages.aboutUs.label = "Профил на компанијата"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "околу-нас"
default.pro.pages.aboutUs.action = "индекс"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "www-индекс"
[...] Продолжение на мојот последен пост за Zend_Navigation, Пат барања за sitemap.xml да обичај контролер / акција, овој пост е за dymnamically додавајќи страници на Zend_Navigation контејнер во траење / script [...]
Имам сериозни проблеми, не можам да го реши тоа: (
Имам router.ini
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = индексот
resources.router.routes.sitemap.defaults.action = Мапа на сајтот
и bootstrap.php
функција заштитена _initRouter ()
{
$ FrontController = Zend_Controller_Front:: getInstance ();
$ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini.);
$ Рутер = $ frontController-> getRouter ();
$ Рутер-> addConfig ($ config ", рутер ');
}
и го добивам ова грешка:
Исклучок информации:
Порака: Invalid контролер назначен (sitemap.xml)
Барам параметри:
array (
"Контролорот '=>' sitemap.xml ',
"Акција" "индекс '=>
'Модул' = 'Стандардно',
)
Се чини дека ти си недостасуваат неколку постови, обидете се надградба на вашиот патишта да одговараат на:
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route_Static"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.controller = "индекс"
resources.router.routes.sitemap.action = "карта"
resources.router.routes.sitemap.defaults.module = "www"
resources.router.routes.sitemap.defaults.controller = "индекс"
resources.router.routes.sitemap.defaults.action = "карта"
resources.router.routes.sitemap.defaults.route = "www-индекс"