Dünaamiliselt lisada lehekülgi Zend_Navigation konteiner runtime
Jätkumise minu viimane postitus umbes Zend_Navigation, Route taotlusi sitemap.xml kohandatud töötleja / action , see postitus on umbes dymnamically lisades lehekülgi Zend_Navigation konteiner runtime / script täitmisega.
Selle kõik hea ja tore, täpsustades oma lehekülgi ini või xml faili, kuid mingil hetkel sa lähed on muutuv sivuistasi soovitud osana menüü, sisukord, või lisada oma lingirea rada. Seega, mida me peame tegema, on lisada lehekülgi meie Zend_Navigation konteiner käivitamisel. Näiteid oleks see lisades uudiseid, blogi postitusi või lehekülje kommentaare jne
Selles näites ma lähen lisada mõned uudised postitused minu staatiliselt defineeritud ini config. Et saada minu uudis post leht koosseisude olen kasutanud klassi, mis tagastab massiivi järgmisele vormingule:
$ PagesToAdd = array ( 0 => array ( "Silt '=>' Fake uudislugu # 5 ...', 'Mooduli' => 'www' Trassi '=>' www-indeks " "Meede" => "View", "Vastutav töötleja" => "uudiste" "Parameetrid" => array ( "ID" => "5.-Fake-news-lugu - 5 ') ) 1 => array (/ * Rohkem lehe detailid * /), );
Nagu märkad, et funktsioon on tagastatud massiiv, mis sisalduvad massiivid, mis moodustavad config massiivid jaoks Zend_Navigation_Page_Mvc. Seega, silmuspõletamise üle array uus Zend_Navigation lehti saab luua config massiiv. Järgmine asi, mida teha osana silmus on lisada lehekülgi õigesse asendisse (teise lehti saab lisada lahtiselt abil -> addPages () meetod).
Selleks leida leheküljel soovite lisada alisivut ja lihtsalt lisada lehekülgedele. Sel juhul olen kasutanud järgmine kood leida minu lehel:
$ Konteiner-> findOneBy ("etikett", "Uudised") -> addPage ($ page); Minu üldine navigatsiooni initialisation aastal bootstrap seetõttu näeb välja selline:
/ ** * Käitlemiseks kasutatavaid tipptasemel navigation * * @ Tagasi Zend_Navigation * / kaitstud funktsiooni _initNavigation () { $ This-> bootstrap ("skeem"); $ Paigutus = $ this-> getResource ("skeem"); $ Vaadata = $ mikrolülituse> getView (); $ Config = new Zend_Config_Ini ( APPLICATION_PATH. "/ Configs / navigation.ini" APPLICATION_ENV); $ Konteiner = new Zend_Navigation ($ config-> vaikimisi); / / Nüüd lisa Viimase 25 uudised $ Uudis = uus Uudised (); $ Lehekülgi = $ uudis-> getNavigationEntries (); foreach ($ lehekülgi kui $ page) { $ Page = uus Zend_Navigation_Page_Mvc ($ page); $ Konteiner-> findOneBy ("etikett", "Uudised") -> addPage ($ page); } $ View-> navigation ($ konteiner); }
On asi, mis tuleb lisada, on mingis vormis vahemällu (kasutades Zend_Cache arvatavasti;)) muidu läheb üsna kallis, kusjuures iga lehekülg koormus.


















































See on just see, mida ma otsisin - tänu tõesti selge näide. Cheers. G