/ Eylem denetleyici özel Route istekleri için sitemap.xml

Tarafından Steven Lloyd Watkin , 2010 12:13 Çarşamba 6 Ocak

taleplerini doğrudan sipariş In / sitemap.xml sizin için özel bir kontrol ve eylem Zend Framework ) uygulaması navigation.ini kullandığım gibi sadece eklemek aşağıda sizin application.ini dosya veya yapılandırma alternatif (:

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

çıkış için Örnek kod uygun denetleyici bir eylem oluşturarak görülebilir (benim site haritası örneğin endeksi kontrolör, site haritası eylem yatıyor):

 < php
 sınıf IndexController
     Zend_Controller_Action uzanır
 {
     / **
      * Renders Zend_Navigation kurulum tabanlı bir site haritası
      * /
     public function sitemapAction ()
     {
    	 echo $ this-> görünüm-> Navigasyon () -> site haritası ();
    	 $ This-> görünüm-> düzen () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Site haritaları kullanarak hızlı ve kolayca üretilebilir Zend_Navigation , büyük bir hızla öğretici (ve genel olarak çok öğreticiler Çerçeve yararlı için Zend) olan Zend Oyuncular - Dinamik kırıntılarıyla oluşturarak bir menü bir site haritası ve .

"Özel kontrolörü / eylem sitemap.xml için Rota talepleri" için 4 yanıt

  1. Ben söylemeyi unutmuşum bir şey de (siz URI'ler temin iseniz bir sorun olmayacaktır Zend_Navigation_Page_Mvc kullanın, aksi takdirde tüm URL'ler / sitemap.xml işaret eder sizin site haritası için standart bir rota belirlemek gerekir ki .)

    Örneğin benim son projesi yönlendirme aşağıdaki kullanır:

    ; ==============================
    ; Yönlendirme Kaynak
    ; ==============================
    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 = ": kontrolörü /: Aksiyon / *"
    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 = indeksi
    resources.router.routes.sitemap.defaults.action = sitemap

    Bu nedenle benim navigation.xml (veya yapılandırma size kullanmaya karar ne olursa olsun), örneğin kullanmak için yönlendirme belirtmek gerekir

    default.pro.pages.aboutUs.label = "Şirket Profili"
    default.pro.pages.aboutUs.module = "www"
    default.pro.pages.aboutUs.controller = "hakkında-us"
    default.pro.pages.aboutUs.action = "index"
    default.pro.pages.aboutUs.resource = "www_pages"
    default.pro.pages.aboutUs.route = "www-index"

  2. Yaklaşık dymnamically runtime / script [...] bir Zend_Navigation konteyner sayfaları ekleyerek özel kontrolörü / eylem sitemap.xml için Zend_Navigation hakkında benim son yazılan Route istekleri devamı [...] Bu yazı

  3. Walter diyor ki:

    Ben ciddi sorunlar var, bunu çözemezse: (

    Ben router.ini var

    resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
    resources.router.routes.sitemap.route = "sitemap.xml"
    resources.router.routes.sitemap.defaults.controller = indeksi
    resources.router.routes.sitemap.defaults.action = sitemap

    ve bootstrap.php

    koruma fonksiyonu _initRouter ()
    {
    $ FrontController = Zend_Controller_Front: getInstance ();
    $ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini.);
    $ Yönlendirici = $ frontController-> getRouter ();
    $ Yönlendirici-> addConfig ($ config, 'router');
    }

    ve ben bu hatayı alırsınız:

    Istisna bilgi:

    Mesaj: Geçersiz denetleyicisi (sitemap.xml)

    İstek Parametreleri:

    array (
    'Kontrolör' => 'sitemap.xml'
    'Eylem' => 'Dizin'
    'Modül' => 'varsayılan',
    )

    • Size uyacak biçimde yolları güncellemeyi deneyin, kayıtları bir çift kaçırdığını gibi görünüyor:

      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"

Bir Yanıt bırak













Panorama Tema tarafından Themocracy

6 ziyaretçi online şimdi
4 misafir, 2 bot, 0 üye
Max ziyaretçi bugün: 12:15, 13 UTC am
Bu ay: 26 de 2011/07/05 12:35 UTC am
Bu yıl: 130 28-03-2011 22:40 UTC
Tüm zamanların: 130 28-03-2011 10:40 UTC