Ruta de les sol.licituds de sitemap.xml al controlador personalitzat / acció

Per Lloyd Watkin Steven , dimecres 6 gener 2010 00:13

Per tal de les sol licituds directes per / sitemap.xml a un controlador del costum i l'acció en el Zend Framework aplicació només ha d'afegir el següent a la seva application.ini o alternatives fitxer de configuració (per exemple, jo faig servir navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = índex de
 resources.router.routes.sitemap.defaults.action = mapa del lloc

Exemple de codi per fer sortir es pot veure mitjançant la creació d'una acció al controlador adequat (per exemple, el meu mapa es troba al controlador d'índex, mapa d'acció):

 < php
 classe IndexController
     s'estén Zend_Controller_Action
 {
     / **
      * Representa un mapa basat en la configuració Zend_Navigation
      * /
     sitemapAction funció pública ()
     {
    	 echo $ this-navegació-> Vista-> () -> Mapa web ();
    	 $ This-disseny-> Vista-> () -> disableLayout ();
    	 $ This-setNoRender> ViewRenderer-> _helper-> (true);
     }
 }

Sitemaps poden ràpida i fàcilment haver estat obtinguda mitjançant Zend_Navigation , un gran tutorial ràpid (i en general molt útil per als tutorials de Zend Framework) és guixos Zend - dinàmica de la creació d'un menú d'un mapa del lloc i el pa ratllat .

4 Respostes a "sol.licituds de Ruta per sitemap.xml al controlador personalitzat / acció"

  1. Una cosa que em vaig oblidar d'esmentar és que també haurà d'especificar la ruta estàndard del seu mapa, en cas contrari tots els URL que apunti a / sitemap.xml si utilitza Zend_Navigation_Page_Mvc (si vostè és el subministrament d'URI no serà un problema ).

    Per exemple, el meu últim projecte utilitza la següent ruta:

    ; ==============================
    ; De recursos d'enrutament
    ; ==============================
    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 = "índex"
    resources.router.routes.www.chains.index.defaults.action = "índex"
    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = índex de
    resources.router.routes.sitemap.defaults.action = mapa del lloc

    Per tant en la meva navigation.xml (o el que sigui de configuració que decideixi utilitzar), haurà d'especificar la ruta a utilitzar, per exemple,

    default.pro.pages.aboutUs.label = "Perfil de l'empresa"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "sobre nosaltres"
    default.pro.pages.aboutUs.action = "índex"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-índex"

  2. [...] Una continuació del meu últim post sobre Zend_Navigation, les peticions de Ruta per sitemap.xml al controlador personalitzat / acció, aquest post és sobre dymnamically afegir pàgines a un contenidor Zend_Navigation en [...] temps d'execució d'script /

  3. Walter diu:

    Tinc seriosos problemes, no ho puc resoldre: (

    He router.ini

    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = índex de
    resources.router.routes.sitemap.defaults.action = mapa del lloc

    i Bootstrap.php

    _initRouter funció protegida ()
    {
    $ FrontController = Zend_Controller_Front:: getInstance ();
    $ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini.);
    router = $ $ getRouter FrontController-> ();
    $ Router-> addConfig ($ config-router);
    }

    i rebut aquest error:

    Excepció de la informació:

    Missatge: Error de controlador especificat (sitemap.xml)

    Sol.licitud de Paràmetres:

    array (
    'Controller' => 'sitemap.xml',
    'Acció' 'índex' =>,
    'Module' => 'per defecte',
    )

    • Sembla que t'estàs perdent un parell d'entrades, prova a actualitzar les seves rutes per a que coincideixi amb:

      resources.router.routes.sitemap.type = "Zend_Controller_Router_Route_Static"
      resources.router.routes.sitemap.route = "sitemap.xml"
      resources.router.routes.sitemap.controller = "índex"
      resources.router.routes.sitemap.action = "mapa"
      resources.router.routes.sitemap.defaults.module = "www"
      resources.router.routes.sitemap.defaults.controller = "índex"
      resources.router.routes.sitemap.defaults.action = "mapa"
      resources.router.routes.sitemap.defaults.route = "www-índex"

Deixa una resposta













Panorama Tema per Themocracy

6 visitants en línia
3 persones, contra els robots d'3, 0 membres
Nombre màxim de visitants d'avui: 12 a les 12:15 UTC
Aquest mes: 26 a 2011.07.05 12:35 UTC
Aquest any: 130 en 2011.03.28 22:40 UTC
Tot el temps: 130 en 2011.03.28 22:40 UTC