indirizzare le richieste di sitemap.xml al controller custom / azione

Con Steven Watkin Lloyd , Mercoledì 6 Gennaio 2010 12:13

Per richieste dirette per / sitemap.xml a un controller personalizzato e di azione nel Zend Framework applicazione è sufficiente aggiungere il seguente nel Application.ini o alternative file di configurazione (ad esempio io uso navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = indice
 resources.router.routes.sitemap.defaults.action = mappa del sito

Esempio di codice per l'output può essere visto attraverso la creazione di un ricorso presso il controller appropriato (per esempio la mia mappa del sito sta nel controller di indice, azione mappa del sito):

 < php
 classe IndexController
     estende Zend_Controller_Action
 {
     / **
      * Esegue il rendering di una mappa del sito sulla base di Zend_Navigation setup
      * /
     sitemapAction funzione pubblica ()
     {
    	 echo $ this navigazione-> view-> () -> Mappa del sito ();
    	 $ Questo layout-> view-> () -> disableLayout ();
    	 $ This-> setNoRender _helper-> viewRenderer-> (true);
     }
 }

Sitemaps possono rapidamente e facilmente essere generati utilizzando Zend_Navigation , un grande veloce tutorial (e generalmente molto utile per tutorial Zend Framework) è Casts Zend - Creare dinamicamente un menu di una mappa del sito e pangrattato .

2 Responses to "indirizzare le richieste di sitemap.xml al controller custom / azione"

  1. Una cosa che ho dimenticato di dire è che avrete anche bisogno di specificare il percorso standard per la tua sitemap, altrimenti tutti gli URL che puntino a / sitemap.xml se si utilizza Zend_Navigation_Page_Mvc (se sei fornitura URI non ci sarà un problema ).

    Per esempio il mio ultimo progetto utilizza il seguente percorso:

    ; ==============================
    ; Risorse di 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 /: action / *"
    Resources.router.routes.www.chains.index.defaults.controller = "indice"
    Resources.router.routes.www.chains.index.defaults.action = "indice"
    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = indice
    resources.router.routes.sitemap.defaults.action = mappa del sito

    Quindi, a mio navigation.xml (o qualsiasi config si decide di utilizzare), sarà necessario specificare il percorso da utilizzare, ad esempio,

    = Default.pro.pages.aboutUs.label "Company Profile"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "chi siamo"
    Default.pro.pages.aboutUs.action = "indice"
    default.pro.pages.aboutUs.resource = "www_pages"
    Default.pro.pages.aboutUs.route = "www-index"

  2. [...] Una continuazione del mio ultimo post su Zend_Navigation, indirizzare le richieste di sitemap.xml al controller custom / azione, questo post è di circa dymnamically aggiungere pagine a un contenitore Zend_Navigation in fase di esecuzione / script [...]

Lascia un commento













Tema di Panorama Themocracy

5 visitatori online
2 persone, 3 bots, 0 utenti
Max visitatori oggi: 14 alle 12:11 UTC
Questo mese: 26 alle 2011/07/05 12:35 UTC
Questo anno: 130 al 28-03-2011 22:40 UTC
Tutti i tempi: 130 al 28-03-2011 10:40 UTC