Dünaamiliselt lisada lehekülgi Zend_Navigation konteiner runtime

Autor Steven Lloyd Watkin , neljapäeval 7. jaanuar 2010 22:50

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.

One Response to "dünaamiliselt lisada lehekülgi Zend_Navigation konteiner runtime"

  1. Mr Man ütleb:

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

Jäta vastus













Panorama Theme poolt Themocracy

7 külastajaid online praegu
4 külalist, 3 eest, 0 liiget
Max Külastusi täna: 13 kell 11:17 UTC
Selle kuu: 26 kell 2011/07/05 12:35 UTC
Sel aastal: 130 at 28-03-2011 22:40 UTC
Kogu aeg: 130 at 28-03-2011 10:40 UTC