Додај странице динамички да Зенд_Навигатион контејнер у рунтиме-
У наставку на мој последњи пост о Зенд_Навигатион, захтеви за руте ситемап.кмл обичај да контролер / акција , овај пост је о димнамицалли додавање странице Зенд_Навигатион контејнер на Рунтиме / Скрипта.
Њена све добро и добро навести ваше странице у ини или кмл фајл, али у неком тренутку ћете имати мењају странице на вашем сајту које желите као део менија, Ситемап, или да буду укључени у траг путањом. Дакле оно што треба да урадите је да додате странице наше Зенд_Навигатион контејнер у рунтиме. Примери за то би се у додавању вијести, блогу, или страница коментаре, итд
У овом примеру ја ћу додати неке постове вести на моју статички дефинисани детаљи конфиг. Да бисте добили мој конфигурације вести порука страници сам користио класе која враћа низ у следећем формату:
$ ПагесТоАдд = арраи ( 0 => арраи ( 'Ознака' => 'Лажне вести # 5 ...', 'Модул' => "ввв", 'Пут' => 'ууу-индекс ", 'Ацтион' => 'Погледај', 'Регулатор' => 'вести', 'Параметри' => арраи ( 'Ид' => '5-Лажне-вести-прича - 5 ') ), 1 => низа (/ * Више детаља страна * /), );
Као што ћете приметити да функција враћа низ у коме се налазе низови који чине низови конфигурација за Зенд_Навигатион_Паге_Мвц. Дакле, петље преко низа нових Зенд_Навигатион странице може бити креиран од конфигурација низа. Следећа ствар коју треба урадити као део петље је да се за додавање странице у исправан положај (алтернативно странице може да се дода у расутом стању користећи -> аддПагес () метода).
Да бисте то урадили, пронађите страницу коју желите да додате под-страницама и једноставно додајте странице. У овом случају сам користио следећи код на мојој страници наћи:
$ Контејнер-> финдОнеБи ('ознака', 'Најновије вести') -> аддПаге ($ страна); Мој општи навигација Иницијализација у боотстрап зато изгледа овако:
/ ** * Користи се за руковање највишег нивоа навигацију * * @ Ретурн Зенд_Навигатион * / заштићен функцијом _инитНавигатион () { $ Тхис-> дизања ('распореда'); $ Распоред = $ тхис-> гетРесоурце ('распореда'); Погледај $ = $ распореда-> гетВиев (); $ Конфигурација = нових Зенд_Цонфиг_Ини ( АППЛИЦАТИОН_ПАТХ. '/ Цонфигс / навигатион.ини', АППЛИЦАТИОН_ЕНВ); $ Контејнер = нови Зенд_Навигатион ($ конфигурација-> Дефаулт); / / Сада додајте последњих 25 извештаја вести $ Новости = нових вести (); $ Страна = $ Вести-> гетНавигатионЕнтриес (); фореацх ($ страна ас $ паге) { $ Страна = нови Зенд_Навигатион_Паге_Мвц ($ страна); $ Контејнер-> финдОнеБи ('ознака', 'Најновије вести') -> аддПаге ($ страна); } $ Виев-> навигацију ($ контејнер); }
На сто треба да се додају неки облик кеширање (користећи Зенд_Цацхе вероватно;)) иначе ће то бити прилично скупо са сваким учитавања странице.


















































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