Додај странице динамички да Зенд_Навигатион контејнер у рунтиме-

По Стивен Лојд Ваткин , четвртак 7. јануар 2010 10:50 ПМ

У наставку на мој последњи пост о Зенд_Навигатион, захтеви за руте ситемап.кмл обичај да контролер / акција , овај пост је о димнамицалли додавање странице Зенд_Навигатион контејнер на Рунтиме / Скрипта.

Њена све добро и добро навести ваше странице у ини или кмл фајл, али у неком тренутку ћете имати мењају странице на вашем сајту које желите као део менија, Ситемап, или да буду укључени у траг путањом. Дакле оно што треба да урадите је да додате странице наше Зенд_Навигатион контејнер у рунтиме. Примери за то би се у додавању вијести, блогу, или страница коментаре, итд

У овом примеру ја ћу додати неке постове вести на моју статички дефинисани детаљи конфиг. Да бисте добили мој конфигурације вести порука страници сам користио класе која враћа низ у следећем формату:

  $ ПагесТоАдд = арраи (
   0 =>
     арраи (
       'Ознака' => 'Лажне вести # 5 ...',
       'Модул' => "ввв",
       'Пут' => 'ууу-индекс ",
       'Ацтион' => 'Погледај',
       'Регулатор' => 'вести',
       'Параметри' => арраи (
           'Ид' => '5-Лажне-вести-прича - 5 ')
     ),
   1 =>
     низа (/ * Више детаља страна * /),
  ); 

Као што ћете приметити да функција враћа низ у коме се налазе низови који чине низови конфигурација за Зенд_Навигатион_Паге_Мвц. Дакле, петље преко низа нових Зенд_Навигатион странице може бити креиран од конфигурација низа. Следећа ствар коју треба урадити као део петље је да се за додавање странице у исправан положај (алтернативно странице може да се дода у расутом стању користећи -> аддПагес () метода).

Да бисте то урадили, пронађите страницу коју желите да додате под-страницама и једноставно додајте странице. У овом случају сам користио следећи код на мојој страници наћи:

  $ Контејнер-> финдОнеБи ('ознака', 'Најновије вести') -> аддПаге ($ страна); 

Мој општи навигација Иницијализација у боотстрап зато изгледа овако:

  / **
      * Користи се за руковање највишег нивоа навигацију
      *
      * @ Ретурн Зенд_Навигатион
      * /
     заштићен функцијом _инитНавигатион ()
     {
         $ Тхис-> дизања ('распореда');
         $ Распоред = $ тхис-> гетРесоурце ('распореда');
         Погледај $ = $ распореда-> гетВиев ();
         $ Конфигурација = нових Зенд_Цонфиг_Ини (
             АППЛИЦАТИОН_ПАТХ.  '/ Цонфигс / навигатион.ини', АППЛИЦАТИОН_ЕНВ);

         $ Контејнер = нови Зенд_Навигатион ($ конфигурација-> Дефаулт);
         / / Сада додајте последњих 25 извештаја вести
         $ Новости = нових вести ();
         $ Страна = $ Вести-> гетНавигатионЕнтриес ();
         фореацх ($ страна ас $ паге) {
        	 $ Страна = нови Зенд_Навигатион_Паге_Мвц ($ страна);
        	 $ Контејнер-> финдОнеБи ('ознака', 'Најновије вести') -> аддПаге ($ страна);
         }
         $ Виев-> навигацију ($ контејнер);
     } 

На сто треба да се додају неки облик кеширање (користећи Зенд_Цацхе вероватно;)) иначе ће то бити прилично скупо са сваким учитавања странице.

Оне Респонсе то "Динамички Додај странице у Зенд_Навигатион контејнер у рунтиме"

  1. Господин човек каже:

    То је управо оно што сам тражио - хвала за заиста јасан пример. Живели. Г

Допуст један Одговор













Панорама Тхеме Тхемоцраци

5 посетилаца онлине сада
3 гостију, 2 робота, 0 чланова
Макс посетилаца данас: 17 у 08:54 ам УТЦ
Овог месеца: 26 у 07-05-2011 12:35 пм УТЦ
Ове године: 130 у 28-03-2011 10:40 ам УТЦ
Све време: 28-03-2011 у 10:40 130 ам УТЦ