Маршрут запитів на sitemap.xml звичаєм контролер / дію
Для того, щоб прямі запити для / sitemap.xml для користувацьких контролера і дії в Zend Framework, програма просто додайте наступне в вашому 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 функції () { Відлуння $ це-> Вид-> навігація () -> карта сайту (); $ Це-> Вид-> розкладка () -> disableLayout (); $ Це-> _helper-> ViewRenderer-> setNoRender (істина); } }
Sitemaps може швидко і легко бути створені за допомогою Zend_Navigation , великий інструкція (і взагалі дуже корисно для Zend Framework підручники) є Zend виливки - Динамічне створення меню сайту і панірувальні сухарі .


















































Одна річ, я забув згадати, що ви також повинні будете вказати свій стандартний маршрут для вашої карти сайту, в іншому випадку всі посилання будуть вказувати на / 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 контейнер під час виконання програми / скрипта [...]
У мене є серйозні проблеми, я не можу вирішити її: (
Я 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:: деИпзЬапсе ();
$ = Новий конфігураційний Zend_Config_Ini (APPLICATION_PATH '/ Config / router.ini.);
$ = $ Маршрутизатор FrontController-> getRouter ();
$ Маршрутизатор-> addConfig ($ конфігурації ", маршрутизатора);
}
і я отримую цю помилку:
Виняток інформації:
Повідомлення: Неприпустимий контролер вказано (sitemap.xml)
Параметри запиту:
масив (
'Контролер' => '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-індекс"