Rute anmodninger om sitemap.xml til brugerdefinerede controller / action

Ved Steven Lloyd Watkin , onsdag 6 jan 2010 12:13

For at direkte anmodninger til / sitemap.xml til en brugerdefineret controller og handling i din Zend Framework ansøgning blot tilføje følgende i din application.ini eller alternative config fil (f.eks jeg bruger navigation.ini):

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

Eksempel kode for output kan ses ved at skabe en handling i den pågældende flyveleder (f.eks min sitemap ligger i indekset controller, sitemap handling):

 < php
 klasse IndexController
     udvider Zend_Controller_Action
 {
     / **
      * Gør en sitemap baseret på Zend_Navigation setup
      * /
     offentlig funktion sitemapAction ()
     {
    	 echo $ this-> Vis-> navigation () -> sitemap ();
    	 $ This-> Vis-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (sand);
     }
 }

Sitemaps kan hurtigt og nemt skal genereres ved hjælp af Zend_Navigation , en stor hurtig tutorial (og generelt meget nyttigt for Zend Framework tutorials) er Zend Casts - Dynamisk skabe en menu en sitemap og rasp .

2 Svar til "Route anmodninger om sitemap.xml til brugerdefinerede controller / action"

  1. En ting jeg glemte at nævne, er, at du også bliver nødt til at specificere din standard rute til din sitemap, ellers alle webadresser vil pege på / sitemap.xml hvis du bruger Zend_Navigation_Page_Mvc (hvis du leverer URI'er vil der ikke være et problem ).

    For eksempel mit seneste projekt bruger følgende routing:

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

    Derfor efter min navigation.xml (eller hvad config du vælger at bruge), skal du angive ruten til anvendelse, f.eks

    default.pro.pages.aboutUs.label = "Firmaprofil"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "om-os"
    default.pro.pages.aboutUs.action = "index"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-index"

  2. [...] En fortsættelse på mit sidste indlæg om Zend_Navigation, Rute anmodninger om sitemap.xml til brugerdefinerede controller / action, dette indlæg handler om dymnamically tilføje sider til en Zend_Navigation beholder ved runtime / script [...]

Efterlad et svar













Panorama Tema ved Themocracy

15 besøgende online nu
14 gæster, 1 bots, 0 medlemmer
Max besøgende i dag: 16 kl 01:13 UTC
Denne måned: 26 kl 2011/07/05 12:35 UTC
I år: 130 kl 28-03-2011 22:40 UTC
Alle tider: 130 kl 28-03-2011 10:40 UTC