Route cereri pentru sitemap.xml la controlor personalizate / acţiune

Prin Watkin Lloyd Steven , miercuri, 06 ianuarie 2010 12:13

În scopul de a cereri directe de / sitemap.xml la un controler de personalizat şi de acţiune în dumneavoastră Zend Framework aplicarea pur şi simplu adăugaţi următoarele în application.ini dumneavoastră sau alternative fişier de configurare (de exemplu, am folosi navigation.ini):

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

Exemplu codul pentru scoate pot fi văzute prin crearea unei acţiuni în controller adecvat (de exemplu, Sitemap-ul meu se află în controller index, sitemap acţiune):

 < php
 clasa IndexController
     extinde Zend_Controller_Action
 {
     / **
      * Renders un Sitemap pe baza Zend_Navigation configurare
      * /
     sitemapAction funcţia publică ()
     {
    	 echo $ acest navigare-> view-> () -> sitemap ();
    	 $ Acest aspect-> view-> () -> disableLayout ();
    	 $ Acest setNoRender-> _helper-> viewRenderer-> (true);
     }
 }

Sitemap-urile pot fi rapid şi uşor generate folosind Zend_Navigation , un mare tutorial rapid (şi, în general, foarte util pentru Zend tutoriale-cadru) este Zend Distributie - crearea dinamic un meniu un Sitemap şi pesmetul .

4 Responses to "Route cererile pentru sitemap.xml la controlor personalizate / acţiune"

  1. Un lucru am uitat să menţionez este că veţi avea nevoie, de asemenea, să specificaţi traseul standard pentru Sitemap-ul dvs., altfel toate URL-urile vor indica / sitemap.xml dacă folosiţi Zend_Navigation_Page_Mvc (dacă sunteţi furnizarea de URI-uri nu va fi o problema ).

    De exemplu, cel mai recent proiect meu foloseste rutare următoarele:

    ; ==============================
    ; Resurse de rutare
    ; ==============================
    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 /: actiune / *"
    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

    Prin urmare, în navigation.xml mea (sau orice config vă decideţi să utilizaţi), va trebui să specificaţi rutare de a folosi, de exemplu,

    default.pro.pages.aboutUs.label = "Profil de companie"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "-despre noi"
    default.pro.pages.aboutUs.action = "index"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-index"

  2. [...] O continuare pe ultimul meu post despre Zend_Navigation, cereri Route pentru sitemap.xml la controlor personalizate / acţiune, acest post este despre adăugarea dymnamically pagini într-un container Zend_Navigation la [...] runtime script /

  3. Walter spune:

    Am probleme serioase, eu nu pot rezolva: (

    Am 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

    şi bootstrap.php

    _initRouter funcţia protejate ()
    {
    $ FrontController = Zend_Controller_Front:: getInstance ();
    $ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini ".);
    $ Router = $ getRouter frontController-> ();
    $ Router-> addConfig ($ config, "router");
    }

    şi am primit această eroare:

    Excepţie informaţii:

    Mesaj: controller specificat este invalid (sitemap.xml)

    Cerere Parametrii:

    array (
    "Operator" => "sitemap.xml",
    "Acţiune", "index" =>,
    'Modulul' => 'default',
    )

    • S-ar părea că sunteţi lipseşte o pereche de intrări, încercaţi să actualizaţi rute pentru a se potrivi:

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

Plecare un Reply













Panorama Tematica de Themocracy

9 vizitatori online acum
8 vizitatori, 1 roboţii, 0 membrii
Max vizitatori azi: 15 la 08:24 UTC
În această lună: 26 la 07-05-2011 12:35 UTC
În acest an: 130 la 28-03-2011 22:40 UTC
Tot timpul: 130 la 28-03-2011 10:40 UTC