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

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

Za účelem přímých žádostí / sitemap.xml na vlastní řadič a akce v Zend Framework aplikace jednoduše přidejte následující text do vaší application.ini nebo alternativní konfigurační soubor (např. 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 = sitemap

Například kód pro výstup může být viděn tím, že vytvoří akcí v příslušných regulátoru (např. moje mapa stránek spočívá v indexu regulátoru, Sitemap akce):

 < php
 třída IndexController
     rozšiřuje Zend_Controller_Action
 {
     / **
      * Omítky Sitemap na základě Zend_Navigation nastavení
      * /
     veřejné funkce sitemapAction ()
     {
    	 echo $ this-> Zobrazit-> Navigace () -> mapa stránek ();
    	 $ This-> Zobrazit-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemap lze rychle a snadno získány pomocí Zend_Navigation , skvělý rychlý návod (a obecně velmi užitečné pro Zend tutoriály Framework) je Zend Odlitky - dynamicky vytváří menu Sitemap a strouhankou .

4 Reakce na "Route žádosti o sitemap.xml na vlastní řadič / akce"

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

    Například můj poslední 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 = sitemap

    Proto se v mé navigation.xml (nebo cokoliv config se rozhodnete používat), budete muset zadat směrování k 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 o Zend_Navigation, Route žádosti o sitemap.xml na vlastní řadič / akci, tento post je asi dymnamically přidává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 = sitemap

    a bootstrap.php

    chráněné funkce _initRouter ()
    {
    $ FrontController = Zend_Controller_Front:: GetInstance ();
    $ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini'.);
    $ Router = $ frontController-> getRouter ();
    $ Router-> addConfig ($ config, 'routeru');
    }

    a dostávám tuto chybu:

    Informace o výjimce:

    Zpráva: Neplatný uvedené řadič (sitemap.xml)

    Žádost Parametry:

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

    • Zdá se, že vám chybí pár 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 = "sitemap"
      resources.router.routes.sitemap.defaults.module = "www"
      resources.router.routes.sitemap.defaults.controller = "index"
      resources.router.routes.sitemap.defaults.action = "sitemap"
      resources.router.routes.sitemap.defaults.route = "www-index"

Dovolená jeden Namítat













Panorama Téma, které Themocracy

10 návštěvníků online nyní
9 osob, 1 roboty, 0 členů
Max návštěvníků dnes: 15 v 08:24 UTC
Tento měsíc: 26 na 07.05.2011 00:35 UTC
Tento rok: 130 v 28-03-2011 22:40 UTC
Všechny čas: 130 v 28-03-2011 22:40 UTC