Route beiðnir um sitemap.xml til sérsniðna stjórnandi / aðgerð

By Steven Lloyd Watkin , miðvikudaginn 6. janúar, 2010 12:13

Til þess að beina beiðnum um / sitemap.xml til sérsniðna stjórnandi og aðgerða í þínum Zend Framework forritinu einfaldlega bæta við eftirfarandi í application.ini eða aðra config skrá (td ég nota navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = vísitölu
 resources.router.routes.sitemap.defaults.action = sitemap

Td kóðann fyrir outputting má sjá með því að búa til aðgerðar í viðeigandi stjórnandi (td sitemap mitt liggur í vísitölunni stjórnandi, sitemap aðgerð):

 < PHP
 bekknum IndexController
     nær Zend_Controller_Action
 {
     / **
      * Renders sitemap byggt á Zend_Navigation skipulag
      * /
     opinbera virka sitemapAction ()
     {
    	 echo $ this-> view-> flakk () -> sitemap ();
    	 $ This-> view-> skipulag () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Veftré geta fljótt og auðveldlega hægt að mynda með Zend_Navigation , frábær fljótur Tutorial (og almennt mjög gagnlegt fyrir Zend Framework námskeið) er Zend Skráning á póstlista - Dynamically búa í valmynd sitemap og brauðrasp .

4 Svar til "Route beiðnir um sitemap.xml til sérsniðna stjórnandi / aðgerð"

  1. Eitt sem ég gleymdi að nefna er að þú þarft einnig að tilgreina venjulegu leiðina fyrir sitemap, annars allar slóðir vilja benda á / sitemap.xml ef þú notar Zend_Navigation_Page_Mvc (ef þú ert að afgreiða URI það mun ekki vera vandamál ).

    Til dæmis nýjasta verkefnið mitt notar eftirfarandi vegvísun:

    ; ==============================
    ; Resource Bankanúmer
    ; ==============================
    resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
    resources.router.routes.www.route = ": module.example.com"
    resources.router.routes.www.defaults.module = "sjálfgefið"
    resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
    resources.router.routes.www.chains.index.route = ": stjórnandi /: aðgerð / *"
    resources.router.routes.www.chains.index.defaults.controller = "vísitölu"
    resources.router.routes.www.chains.index.defaults.action = "vísitölu"
    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = vísitölu
    resources.router.routes.sitemap.defaults.action = sitemap

    Því í navigation.xml minn (eða hvað config þú ákveður að nota), munt þú þurfa að tilgreina vegvísun til notkunar, td

    default.pro.pages.aboutUs.label = "Fyrirtækið"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "um-okkur"
    default.pro.pages.aboutUs.action = "vísitölu"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-vísitalan"

  2. [...] Framhald á síðustu færslu mína um Zend_Navigation, Route beiðnir um sitemap.xml til sérsniðna stjórnandi / aðgerð, this staða er um dymnamically bæta síðum við Zend_Navigation gámur á afturkreistingur / script [...]

  3. Walter segir:

    Ég hef alvarleg vandamál, ég get ekki leyst hana: (

    Ég hef router.ini

    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = vísitölu
    resources.router.routes.sitemap.defaults.action = sitemap

    og bootstrap.php

    vernda virka _initRouter ()
    {
    $ FrontController = Zend_Controller_Front:: getInstance ();
    $ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini'.);
    $ Leið = $ frontController-> getRouter ();
    $ Leið-> addConfig ($ config, 'leið');
    }

    og ég fæ þessa villu:

    Undantekning upplýsingar:

    Message: Invalid stjórnandi tilgreint (sitemap.xml)

    Request Parameters:

    array (
    'Stjórnandi' sitemap.xml '=>,
    'Aðgerð' Vísitala '=>,
    'Module' = 'Sjálfgefið'>,
    )

    • Það virðist sem þú ert að missa af nokkrum færslum, reyna að uppfæra leiðir til að passa:

      resources.router.routes.sitemap.type = "Zend_Controller_Router_Route_Static"
      resources.router.routes.sitemap.route = "sitemap.xml"
      resources.router.routes.sitemap.controller = "vísitölu"
      resources.router.routes.sitemap.action = "sitemap"
      resources.router.routes.sitemap.defaults.module = "www"
      resources.router.routes.sitemap.defaults.controller = "vísitölu"
      resources.router.routes.sitemap.defaults.action = "sitemap"
      resources.router.routes.sitemap.defaults.route = "www-vísitalan"

Leave a Reply













Panorama Þema eftir Themocracy

5 gestir tengdir núna
3 gestir, 2 Botswana, 0 meðlimir
Max gestir í dag: 12 klukkan 12:14 UTC
Þessi mánuður: 22 kl 2011/08/06 12:30 UTC
Á þessu ári: 130 kl 28-03-2011 22:40 UTC
Allra tíma: 130 kl 28-03-2011 10:40 UTC