Trasa žádosti o sitemap.xml na vlastní řídicí / akce

Tím, Steven Lloyd Watkin , ve středu 06.01.2010 00:13

Aby bylo možné žádosti o přímé / sitemap.xml na vlastní řadič a akce v Zend Framework aplikace stačí přidat následující v application.ini nebo alternativním konfiguračním souboru (např. já používám navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = index
 resources.router.routes.sitemap.defaults.action = mapa stránek

Například kód pro výstup může být viděn tím, že vytvoří akce v příslušné ovladače (např. moje mapa stránek spočívá v řídící index, mapa webu akce):

 < php
 Třída IndexController
     rozšiřuje Zend_Controller_Action
 {
     / **
      * Poskytuje Sitemap na základě Zend_Navigation nastavení
      * /
     public function sitemapAction ()
     {
    	 echo $ this-> Zobrazit-> Navigace () -> Mapa ();
    	 $ This-> Zobrazit-> Layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Soubory Sitemap lze snadno a rychle generovat pomocí Zend_Navigation , skvělý rychlý tutorial (a obecně velmi užitečné návody Zend Framework) je Zend Odlitky - dynamicky vytváří menu Sitemap a strouhance .

4 Responses to "cesta žádosti o sitemap.xml na vlastní řadič / action"

  1. Jedna věc, kterou jsem zapomněl zmínit, je, že budete muset zadat své standardní trasy pro Sitemap, jinak všechny adresy URL bude ukazovat na / sitemap.xml, pokud používáte Zend_Navigation_Page_Mvc (pokud jste URI dodává, že nebude problém ).

    Například můj nejnovější projekt používá následující trasy:

    ; ==============================
    ; Zdrojů směrování
    ; ==============================
    resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
    resources.router.routes.www.route = ": module.example.com"
    resources.router.routes.www.defaults.module = "default"
    resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
    resources.router.routes.www.chains.index.route = ": regulátor /: Akční / *"
    resources.router.routes.www.chains.index.defaults.controller = "index"
    resources.router.routes.www.chains.index.defaults.action = "index"
    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = index
    resources.router.routes.sitemap.defaults.action = mapa stránek

    Proto se v mé navigation.xml (nebo cokoliv config se rozhodnete používat) budete muset zadat směrování použití, např.

    default.pro.pages.aboutUs.label = "Profil"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "-o nás"
    default.pro.pages.aboutUs.action = "index"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-index"

  2. [...] Pokračování na můj poslední příspěvek na Zend_Navigation, směrovat požadavky na sitemap.xml na vlastní řídicí / akci, tento příspěvek je o dymnamically Přidání stránek do Zend_Navigation kontejneru za běhu / script [...]

  3. Walter říká:

    Mám vážné problémy, nemohu vyřešit: (

    Mám router.ini

    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = index
    resources.router.routes.sitemap.defaults.action = mapa stránek

    a bootstrap.php

    funkce ochrany _initRouter ()
    {
    $ FrontController = Zend_Controller_Front: getInstance ();
    $ Config = new Zend_Config_Ini (APPLICATION_PATH "/ config / router.ini.");
    $ Router = $ frontController-> getRouter ();
    $ Router-> addConfig ($ config, "router");
    }

    a dostávám tuto chybu:

    Informace o výjimce:

    Zpráva: byl zadán neplatný regulátor (sitemap.xml)

    Poptávka Parametry:

    array (
    "Správce" => 'sitemap.xml "
    "Akce '=>' index ',
    "Modul '=>' default ',
    )

    • Zdá se, že jste chybí několik položek, zkuste aktualizovat Vaše cesty k zápasu:

      resources.router.routes.sitemap.type = "Zend_Controller_Router_Route_Static"
      resources.router.routes.sitemap.route = "sitemap.xml"
      resources.router.routes.sitemap.controller = "index"
      resources.router.routes.sitemap.action = "Mapa"
      resources.router.routes.sitemap.defaults.module = "www"
      resources.router.routes.sitemap.defaults.controller = "index"
      resources.router.routes.sitemap.defaults.action = "Mapa"
      resources.router.routes.sitemap.defaults.route = "www-index"

Dovolená jeden Namítat













Panorama Téma, které Themocracy

6 návštěvníků online
4 osoby, 2 boty, 0 členů
Max návštěvníků dnes: 12 v 06:16 UTC
Tento měsíc: 22 Na 8.06.2011 00:30 UTC
Tento rok: 130 u 28-03-2011 22:40 UTC
Za celé období: 130 u 28-03-2011 22:40 UTC