Пат барања за 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
 {
     / **
      * Приказ Мапа на сајтот врз основа на Zend_Navigation подесување
      * /
     јавна функција sitemapAction ()
     {
    	 echo $ ова-> View-> навигација () -> Мапа на сајтот ();
    	 $ Ова-> View-> распоред () -> disableLayout ();
    	 $ Ова-> _helper-> viewRenderer-> setNoRender (вистинска);
     }
 }

Sitemaps брзо и лесно може да бидат генерирани со користење Zend_Navigation , голем брзо Почетен курс (и обично се многу корисни за Zend Framework вежби) е Zend фрла - Динамички создавање мени Мапа на сајтот и breadcrumbs .

4 Responses to "пат барања за sitemap.xml да сопствени контролер / акција"

  1. Едно заборавив да се спомене е дека исто така ќе треба да наведете вашиот стандард пат за вашиот Мапа на сајтот, во спротивно сите адреси ќе точка за / sitemap.xml ако користите Zend_Navigation_Page_Mvc (ако сте обезбедување на врски нема да има проблем ).

    На пример мојот најнов проект користи следните рутирање:

    ; ==============================
    ; Ресурси Рутирање
    ; ==============================
    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, пат барања за sitemap.xml да сопствени контролер / акција, овој пост е за dymnamically додавајќи страници на Zend_Navigation сад во траење / script [...]

  3. Валтер вели:

    Имам сериозни проблеми, не можам да се реши: (

    Имам 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 "рутер ');
    }

    и јас ја добијат оваа грешка:

    Исклучок информации:

    Порака: Невалиден контролер определен (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-индекс"

Остави Одговори













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

4 посетители онлајн сега
1 гости, 3-ботови, 0 членови
Макс посетители денес: 22 во 07:58 UTC
Овој месец: 52 на 18-06-2011 03:11 UTC
Оваа година: 130 на 28-03-2011 22:40 UTC
Сите време: 130 на 28-03-2011 10:40 UTC