Route verzoeken om sitemap.xml aangepaste controller / actie

Door Steven Lloyd Watkin , woensdag 6 januari 2010 0:13

Met het oog op rechtstreekse verzoeken om / sitemap.xml om een aangepaste controller en acties in uw Zend Framework applicatie gewoon het volgende toevoegen in uw application.ini of alternatieve config-bestand (bijvoorbeeld gebruik ik navigation.ini):

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

Voorbeeld code voor het uitvoeren van kan worden gezien door het creëren van een actie in de juiste controller (bv. mijn sitemap ligt in de index-controller, sitemap actie):

 < php
 klasse IndexController
     breidt Zend_Controller_Action
 {
     / **
      * Renders een sitemap op basis van Zend_Navigation setup
      * /
     publieke functie sitemapAction ()
     {
    	 echo $ this-> view-> navigatie () -> sitemap ();
    	 $ This-> view-> lay-out () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps kunnen snel en eenvoudig worden gegenereerd met behulp van Zend_Navigation , een geweldige snelle tutorial (en in het algemeen zeer nuttig voor Zend Framework tutorials) is Zend Afgietsels - dynamisch genereren van een menu een sitemap en paneermeel .

2 Responses to "Route verzoeken om sitemap.xml aangepaste controller / action"

  1. Een ding dat ik vergat te vermelden is dat je ook je nodig hebt om uw standaard route voor uw sitemap opgeven, anders zijn alle URL's naar / sitemap.xml als je gebruik maakt Zend_Navigation_Page_Mvc (als je het leveren URI's zal er geen probleem ).

    Bijvoorbeeld mijn laatste project maakt gebruik van de volgende route:

    ; ==============================
    ; 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 = ": controller /: actie / *"
    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 = indexcijfer
    resources.router.routes.sitemap.defaults.action = sitemap

    Dus in mijn navigation.xml (of welke config je besluit te gebruiken), moet u opgeven de routing te gebruiken, bijvoorbeeld

    default.pro.pages.aboutUs.label = "Bedrijfsprofiel"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "over-ons"
    default.pro.pages.aboutUs.action = "index"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-index"

  2. [...] Een vervolg op mijn vorige post over Zend_Navigation, Route verzoeken om sitemap.xml aangepaste controller / actie, dit bericht gaat over dymnamically toevoegen van pagina's tot een Zend_Navigation container bij runtime / script [...]

Laat een reactie achter













Panorama Thema door Themocracy

5 bezoekers nu online
3 gasten, 2 bots, 0 leden
Max bezoekers vandaag: 14 om 12:11 pm UTC
Deze maand: 26 op 07-05-2011 0:35 UTC
Dit jaar: 130 bij 28-03-2011 22:40 UTC
Alle tijd: 130 op 28-03-2011 22:40 UTC