Път искания за sitemap.xml по поръчка на клиента контролер / действие

С Стивън Лойд Watkin , сряда 6-ти яну 2010 г 12:13 ч

За да се преките искания / 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
 {
     / **
      * Renders карта на сайта въз основа на Zend_Navigation настройка
      * /
     публична функция sitemapAction ()
     {
    	 ехо $ това-> View-> навигация () -> карта на сайта ();
    	 $ Това-> View-> оформление () -> disableLayout ();
    	 $ Това-> _helper-> viewRenderer-> setNoRender (вярно);
     }
 }

Sitemap за бързо и лесно може да бъде събрана Zend_Navigation , много бърза начинаещи (и като цяло много полезен за рамково уроци Zend) е Zend сумист в Япония - Динамично създаване на меню на сайта и галета .

2 коментара към "искания маршрут за sitemap.xml по поръчка на клиента контролер / действие"

  1. Едно нещо, което забравих да спомена е, че вие ​​ще трябва да посочите стандартния маршрут за сайта, в противен случай всички URL адреси ще сочи към / sitemap.xml ако използвате Zend_Navigation_Page_Mvc (ако сте доставя URIs няма да има проблем ).

    Например последния ми проект използва следните маршрута:

    ; ==============================
    ; Ресурса Routing
    ; ==============================
    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-индекс"

  2. [...] Продължение на последния ми пост за Zend_Navigation, Route искания за sitemap.xml по поръчка на клиента контролер / действие, този пост е за dymnamically добавяне на страниците на Zend_Navigation контейнера по време на изпълнение / скрипт [...]

Вашият коментар













Панорама Тема от Themocracy

4 посетители онлайн
3 гости, 1 ботове, 0 потребители
Макс посетители днес: 16 в 13:13 UTC
Този месец: 26 на 07.05.2011 12:35 ч. UTC
Тази година: 130 на 28-03-2011 22:40 UTC
През цялото време: 130 на 28-03-2011 22:40 UTC