Trasa žiadosti o sitemap.xml na vlastné radič / akcia

Tým, Steven Lloyd Watkin , v stredu 06.01.2010 00:13

Za účelom priamych žiadostí / sitemap.xml na vlastné radič a akcie v Zend Framework aplikácie jednoducho pridajte nasledujúci text do vašej application.ini alebo alternatívne konfiguračný súbor (napr. používam navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = index
 resources.router.routes.sitemap.defaults.action = sitemap

Napríklad kód pre výstup môže byť videný tým, že vytvorí akciami v príslušných regulátora (napr. moja mapa stránok spočíva v indexe regulátora, Sitemap akcie):

 < php
 trieda IndexController
     rozširuje Zend_Controller_Action
 {
     / **
      * Omietky Sitemap na základe Zend_Navigation nastavenie
      * /
     verejnej funkcie sitemapAction ()
     {
    	 echo $ this-> Zobraziť-> Navigácia () -> mapa stránok ();
    	 $ This-> Zobraziť-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemap možno rýchlo a ľahko získané pomocou Zend_Navigation , skvelý rýchly návod (a všeobecne veľmi užitočné pre Zend tutoriály Framework) je Zend Odliatky - dynamicky vytvára menu Sitemap a strúhankou .

4 Reakcia na "Route žiadosti o sitemap.xml na vlastné radič / akcia"

  1. Jedna vec, ktorú som zabudol spomenúť, je, že budete tiež musieť zadať svoje štandardné trasy pre váš súbor Sitemap, inak všetky adresy URL, bude ukazovať na / sitemap.xml, ak používate Zend_Navigation_Page_Mvc (ak ste dodáva URI tam nebude problém ).

    Napríklad môj posledný projekt používa nasledujúce trasy:

    ; ==============================
    ; Zdrojov smerovanie
    ; ==============================
    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

    Preto sa v mojej navigation.xml (alebo čokoľvek config sa rozhodnete používať), budete musieť zadať smerovanie k použitiu, napr

    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čovanie na môj posledný príspevok o Zend_Navigation, Route žiadosti o sitemap.xml na vlastné radič / akciu, tento post je asi dymnamically pridávanie stránok do Zend_Navigation kontajnera za behu / script [...]

  3. Walter hovorí:

    Mám vážne problémy, nemôžem vyriešiť: (

    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ánené funkcie _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ávam túto chybu:

    Informácie o výnimke:

    Správa: Neplatný uvedené radič (sitemap.xml)

    Žiadosť Parametre:

    array (
    'Správca' => 'sitemap.xml',
    'Akcia' => 'index',
    'Module' = 'default'>,
    )

    • Zdá sa, že vám chýba pár položiek, skúste aktualizovať 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"

Required













Panorama Téma, ktoré Themocracy

3 návštevníkov online teraz
2 osoby, 1 roboty, 0 členov
Max návštevníkov dnes: 16 v 12:39 UTC
Tento mesiac: 26 na 07.05.2011 00:35 UTC
Tento rok: 130 v 28-03-2011 22:40 UTC
Všetky čas: 130 v 28-03-2011 22:40 UTC