Пат барања за sitemap.xml да обичај контролер / акција

Со Стивен Лојд Watkin , среда 6 јануари 2010 12:13

Со цел да директни барања за / 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 .

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

  1. Едно нешто што заборавив да ја споменам е дека исто така ќе треба да го одредите вашиот стандард рута за вашиот Мапа на сајтот, во спротивно сите адреси ќе укажуваат на / 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-индекс"

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

    и го добивам ова грешка:

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

    Порака: 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-индекс"

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













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

6 посетители онлајн сега
5 Гости, 1-ботови, 0 членови
Макс посетители денес: 17 во 00:28 UTC
Овој месец: 26 во 2011/07/05 12:35 UTC
Оваа година: 28-03-2011 во 130 22:40 UTC
Сите времиња: 130 на 28-03-2011 10:40 UTC