Çalışma anında devingen olarak konteynere Zend_Navigation sayfa eklemek
, Hakkında Zend_Navigation yazılan devamı benim bir Geçen / aksiyon denetleyici özel Route istekleri için sitemap.xml , bu yazı yürütme yaklaşık script / runtime Zend_Navigation konteyner bir dymnamically ekleyerek sayfaları.
Onun tüm iyi ve veya ini bir sayfa iyi belirterek xml dosya ama sitede sizin de sayfaları değiştirirken sahip konum olacak bazı nokta iz o kırıntı menüsü ile istediğiniz bir parçası olarak, site haritası sizin dahil edilecek, ya da için. Bu nedenle çalışma zamanında bizim Zend_Navigation konteyner sayfa eklemek yapmanız gereken şey. Bu örnekler haber, blog yazılarından veya sayfa yorum vb eklerken olurdu
Bu örnekte ben config benim statik olarak tanımlanan ini bazı haber mesaj eklemek için gidiyorum. benim haber sonrası sayfa yapılandırmaları almak için ben aşağıdaki biçimde bir dizi döndürür bir sınıf kullandım:
$ (= Array pagesToAdd 0 => array ( 'Label' => 'Fake haber # 5 ...', 'Modül' => 'www' 'Rota' => 'www-indeks' 'Eylem' => 'görmek', 'Kontrolör' => 'haber', 'Params' => array ( 'Id' => '5-Fake-haber katlı - 5 ') ) 1 => array (/ * Daha sayfa detayları * /) );
Eğer fonksiyonu içinde config Zend_Navigation_Page_Mvc için dizilerin makyaj dizilerin içerdiği bir dizi döndüğünü fark edeceksiniz gibi. Bu nedenle, dizinin yeni Zend_Navigation sayfaları üzerinde loop ile yapılandırma dizi oluşturulabilir. döngünün parçası doğru pozisyonda sayfalara eklemek için olduğu gibi bir sonraki şey yapmak (kullanarak alternatif sayfaları toplu olarak eklenebilir -> addPages () metodu).
Bunu yapmak için, ve alt sayfalar eklemek için sadece sayfa eklemek istediğiniz sayfayı bulun. Bu durumda benim sayfası bulmak için şu kodu kullandım:
$ Konteyner-> findOneBy ('etiket', 'Son Haberler') -> addPage ($ sayfa); bootstrap My genel navigasyon başlatma dolayısıyla şuna benzer:
/ ** * Üst düzey navigasyon kullanım için kullanılan * * @ Return Zend_Navigation * / koruma fonksiyonu _initNavigation () { $ This-> önyükleme ('düzen'); $ Düzen = $ this-> getResource ('düzen'); $ View = $ düzen-> getView (); $ Config = new Zend_Config_Ini ( APPLICATION_PATH. '/ Yapılandırmaları / navigation.ini', APPLICATION_ENV); $ Konteyner = new Zend_Navigation ($ config-> varsayılan); / / Şimdi son 25 haber eklemek $ Haber = new Haber (); $ Sayfa = $ haber-> getNavigationEntries (); foreach ($ AS sayfa sayfa) { $ Page = new Zend_Navigation_Page_Mvc ($ sayfa); $ Konteyner-> findOneBy ('etiket', 'Son Haberler') -> addPage ($ sayfa); } $ Görünüm-> Navigasyon ($ konteyner); }
eklenecek On gereken şey kullanarak önbelleğe (şeklidir bazı Zend_Cache sayfa her yük tahminen;) ile pahalı oldukça olabilir) olacak şekilde bu.


















































gerçekten açık bir örneğidir için teşekkürler - Bu arıyordum sadece ne i's. Sağ olsun. G