Ruta ng mga kahilingan para sa sitemap.xml sa pasadyang controller / action

By Steven Lloyd Watkin , Miyerkules 6 Ene 2010 12:13

Upang direktang kahilingan para sa / sitemap.xml sa isang pasadyang controller at pagkilos sa iyong Zend Framework application idagdag lamang ang mga sumusunod sa inyong application.ini o alternatibong config file (halimbawa gamitin ko navigation.ini):

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

Halimbawa code para sa outputting ay makikita sa pamamagitan ng paglikha ng isang aksyon sa nararapat na controller (eg aking sitemap kasinungalingan ang index controller, sitemap action):

 < php
 class IndexController
     nagpalawak Zend_Controller_Action
 {
     / **
      * Nagpapakita ng isang sitemap batay sa Zend_Navigation setup
      * /
     pampublikong function sitemapAction ()
     {
    	 echo $ ito-> view-> nabigasyon () -> sitemap ();
    	 $ Na ito-> view-> layout () -> disableLayout ();
    	 $ Na ito-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps ay maaaring mabilis at madali mabubuo gamit Zend_Navigation , isang mahusay na mabilis na tutorial (at sa pangkalahatan ay lubhang kapaki-pakinabang para sa Zend Framework tutorials) ay Zend cast - magilas na ang paglikha ng isang menu ng isang sitemap at breadcrumbs .

4 sagot sa "Ruta ng mga kahilingan para sa sitemap.xml sa pasadyang controller / action"

  1. Isang bagay na nakalimutan ko na banggitin ay na makikita mo rin na tukuyin ang iyong mga standard na ruta para sa iyong sitemap, kung hindi man lahat ng mga URL ay tumuturo sa / sitemap.xml kung gumamit ka ng Zend_Navigation_Page_Mvc (kung ikaw ay supplying mga URI doon ay hindi isang problema ).

    Halimbawa ang aking pinakabagong proyekto ay gumagamit ng mga sumusunod na 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 /: 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 = index
    resources.router.routes.sitemap.defaults.action = sitemap

    Kaya't sa aking navigation.xml (o kahit na ano config magpasya kang gumamit), kailangan mong tukuyin ang routing gamitin, hal

    default.pro.pages.aboutUs.label = "Company profile"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "tungkol sa-amin"
    default.pro.pages.aboutUs.action = "index"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-index"

  2. [...] Isang pagpapatuloy sa aking huling post tungkol Zend_Navigation, Route kahilingan para sitemap.xml sa pasadyang controller / action, ang post na ito ay tungkol sa pagdagdag ng dymnamically mga pahina sa isang lalagyan Zend_Navigation sa runtime / script [...]

  3. Walter says:

    Mayroon akong mabigat na problema, hindi ko malutas ito: (

    Mayroon akong 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

    at bootstrap.php

    protektado function _initRouter ()
    {
    $ FrontController = Zend_Controller_Front:: getInstance ();
    $ Config = bagong Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini'.);
    $ Router = $ frontController-> getRouter ();
    $ Router-> addConfig ($ config, 'router');
    }

    at makatanggap ako ng error na ito:

    Exception na impormasyon:

    Message: Hindi wastong controller tinukoy (sitemap.xml)

    Humiling ng mga Parameter:

    array (
    'Controller' 'sitemap.xml' =>,
    'Action' => 'index',
    'Module' = 'default'>,
    )

    • Ito ay tila na kayo ay nawawala ang isang pares ng mga entry, subukan ang pag-update ng iyong ruta upang tumugma sa:

      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"

Mag-iwan ng isang Sumagot













Panorama Theme sa pamamagitan ng Themocracy

9 mga bisita sa online ngayon
7 mga bisita, 2 bots, 0 miyembro
Max mga bisita ngayon: 15 sa 08:24 UTC
Sa buwan na ito: 26 at 2011/07/05 12:35 UTC
Sa taong ito: 130 sa 28-03-2011 22:40 UTC
Lahat ng oras: 130 sa 28-03-2011 10:40 UTC