HTTP/1.0 200 OK Accept-Ranges: none Content-Location: http://www.evilprofessor.co.uk/231-route-requests-for-sitemap-xml-to-custom-controlleraction/ Content-Type: text/html; charset=UTF-8 Date: Mon, 23 May 2011 18:52:50 GMT X-Frame-Options: ALLOWALL Set-Cookie: PREF=ID=382b7420e09849d7:TM=1306176770:LM=1306176770:S=divP1WAhWlidP5pJ; expires=Wed, 22-May-2013 18:52:50 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: translation Expires: Mon, 23 May 2011 18:52:50 GMT Cache-Control: private Evilprofessor.co.uk »накіроўваць запыты для sitemap.xml звычаю кантролер / дзеянне

Накіроўваць запыты для sitemap.xml звычаю кантролер / дзеянне

Па Стывен Лойд Уоткин , у сераду 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
 {
     / **
      * Аказвае Sitemap на аснове Zend_Navigation ўстаноўкі
      * /
     грамадскага sitemapAction функцыі ()
     {
    	 Рэха $ гэтым-> Адкрыць-> Навігацыя () -> Карта сайта ();
    	 $ Гэтым-> Выгляд-> макета () -> disableLayout ();
    	 $ Гэтым-> _helper-> ViewRenderer-> setNoRender (TRUE);
     }
 }

Sitemaps можа хутка і лёгка створаны з дапамогай Zend_Navigation , вялікі кароткае кіраўніцтва (і наогул вельмі карысна для Zend падручнікі Framework) з'яўляецца Zend злепкі - Дынамічнае стварэнне меню сайта і сухарах .

4 Адказы на "накіроўваць запыты для sitemap.xml звычаю кантролер / дзеянне"

  1. Адна рэч, я забыўся згадаць пра тое, што вам таксама неабходна паказаць ваш стандартны маршрут для вашага файла Sitemap, у адваротным выпадку ўсе URL-адрасы будзе ўказваць на / 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 = ": кантролер /: Action / *"
    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 кантэйнеры падчас выканання / [...] сцэнар

  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 = новы 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-індэкс"

Напісаць адказ













Панарама Тэма Themocracy

7 наведвальнікаў зараз
2 гасцей, 5 ботаў, 0 карыстальнікаў
Макс наведвальнікаў сёння: 15 у 09:50 AM UTC
У гэтым месяцы: 26 у 2011/05/07 12:35 раніцы UTC
У гэтым годзе: 130 у 2011/03/28 10:40 вечара UTC
За ўвесь час: 130 у 2011/03/28 10:40 вечара UTC