Route zahtevkov za sitemap.xml, da po meri krmilnik / ukrepi

Z Steven Lloyd Watkin , v sredo, 6. januar 2010 12:13

Za neposredne zahteve po / sitemap.xml v osebni kontrolorja in ukrepanje v vašem okvirni Zend uporabo enostavno dodajte naslednje v vašem application.ini ali alternativno config datoteke (npr. uporabljam navigation.ini):

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

Primer kode za prikazovanje je mogoče videti z ustvarjanjem delovanje v ustrezni krmilnik (npr. moj kazalo leži v indeksu krmilnik, sitemap ukrepi):

 < php
 Razred IndexController
     razširja Zend_Controller_Action
 {
     / **
      * Renders kazalo, ki temelji na setup Zend_Navigation
      * /
     javno funkcijo sitemapAction ()
     {
    	 echo $ this-> View-> navigacije () -> kazalo ();
    	 $ This-> View-> postavitve () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps je mogoče hitro in enostavno ustvari z uporabo Zend_Navigation , veliko hitro vaje (in na splošno zelo koristne za tutorials Zend Framework) je Zend meče - Dinamično ustvarjanje meni kazalo in drobtine .

4 Responses to "Route prošnje za sitemap.xml, da po meri krmilnik / ukrepanje"

  1. Ena stvar, ki sem pozabil omeniti, je, da boste morali določiti vašo običajna pot za vaše kazalo, sicer bodo vsi URL-jev kažejo na / sitemap.xml če uporabljate Zend_Navigation_Page_Mvc (če si dobavo URI ne bo problem ).

    Na primer moj zadnji projekt uporablja naslednje poti:

    ; ==============================
    ; Resource Routing
    ; ==============================
    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 = ": krmilnik /: ukrep / *"
    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

    Zato v mojem navigation.xml (config ali karkoli se boste odločili za uporabo), boste morali določiti poti za uporabo, na primer

    default.pro.pages.aboutUs.label = "Osebna izkaznica"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "O-us"
    default.pro.pages.aboutUs.action = "index"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-indeks"

  2. [...] Nadaljevanje na moj zadnji post o Zend_Navigation, Route prošnje za sitemap.xml, da po meri krmilnik / ukrepanje, ta post je približno dymnamically dodajanju strani za Zend_Navigation posodi pri runtime / script [...]

  3. Walter pravi:

    Imam resne težave, ne morem rešiti: (

    Imam 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

    in bootstrap.php

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

    in dobim to napako:

    Izjema informacije:

    Sporočilo: Invalid določen krmilnik (sitemap.xml)

    Zahteva Parametri:

    array (
    "Upravljavec" => "sitemap.xml",
    "Ukrep" => 'index',
    "Modul '=>' default ',
    )

    • Zdi se, da ste manjka nekaj vnosov, posodobite poti na tekmo:

      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 = "kazalo"
      resources.router.routes.sitemap.defaults.module = "www"
      resources.router.routes.sitemap.defaults.controller = "index"
      resources.router.routes.sitemap.defaults.action = "kazalo"
      resources.router.routes.sitemap.defaults.route = "www-indeks"

Leave a Reply













Panorama Tema, ki jo Themocracy

4 obiskovalcev online zdaj
2 gostov, 2 bote, 0 članov
Max obiskovalci danes: 14 ob 03:24 UTC
Ta mesec: 52 18-06-2011 ob 03:11 UTC
To leto: 130 28-03-2011 ob 22:40 UTC
Ves čas: 130 28-03-2011 ob 10:40 UTC