Dinimiciúil leathanaigh a chur le coimeádán Zend_Navigation ag runtime
I leanúint ar mo phost seo caite faoi Zend_Navigation, iarrataí Bealach ar sitemap.xml le rialtóir saincheaptha / gníomh an bpost seo, tá thart ar chur dymnamically leathanaigh le coimeádán Zend_Navigation ag / script runtime fhorghníomhú.
A fad go maith agus go maith ina sonrófar na leathanaigh i do i INI nó xml comhad ach ag pointe éigin go bhfuil tú ag dul a bheith ag athrú leathanaigh i do shuíomh gur mian leat mar chuid de, léarscáil an tSuímh menu, nó a bheith san áireamh i do Cosán an tSuímh. Dá bhrí sin, an méid is gá dúinn a dhéanamh ná leathanaigh a chur ar ár coimeádán Zend_Navigation ag runtime. Ba mhaith samplaí seo a chur i chur míreanna nuachta, blog post, nó tuairimí leathanach, etc
Sa sampla seo, tá mé ag dul go dtí roinnt poist nuachta a chur le mo INI statically sainithe config. Chun a fháil ar mo leathanach bhfoirmíochtaí nuacht phost mé úsáid d'aicme a tuairisceáin eagar san fhormáid seo a leanas:
$ PagesToAdd = eagar ( 0 => eagar ( 'Lipéad' scéal => 'nuacht Falsa # 5 ...', 'Modúl' => 'www', 'Bealach' => 'www-innéacs', 'Ghníomhaíocht' 'amharc' =>, 'Rialtóir' 'Nuacht' =>, 'Paraiméadair' => eagar ( 'Id' => "5-Falsa-nuacht-scéal - 5 ') ), 1 => eagar (/ * leathanach níos sonraí * /), );
Mar beidh tú faoi deara go bhfuil an fheidhm ar ais le sraith ina bhfuil le fáil arrays a chur suas ar an cumraíochta arrays do Zend_Navigation_Page_Mvc. Dá bhrí sin, is féidir ag looping thar an leathanaigh eagar Zend_Navigation nua a chruthú as an eagar cumraíochta. An chéad rud eile a dhéanamh mar chuid de na lúibe a chur leis an leathanaigh sa suíomh ceart (mar mhalairt féidir leathanaigh seo a leanas ar an mórchóir trí úsáid a bhaint as - addPages> () modh).
Chun seo a dhéanamh, a aimsiú ar an leathanach mian leat a chur leis an bhfo-leathanaigh, agus go simplí ar na leathanaigh seo a chur leis. Sa chás seo tá mé an cód a úsáidtear chun teacht ar mo leathanach seo a leanas:
$ Coimeádán-> findOneBy ('lipéad', 'An Nuacht is Déanaí') -> addPage ($ leathanach seo); Mo initialisation nascleanúint tríd is tríd sna bootstrap Breathnaíonn dá bhrí sin, mar seo:
/ ** * A úsáidtear le haghaidh láimhseáil barrleibhéil navigation * Zend_Navigation * ais @ * / _initNavigation feidhm chosanta () { $ Seo>-bootstrap ('leagan'); $ Leagan amach = $ seo getResource-> ('leagan'); $ Dearcadh = $ getView Leagan amach an-> (); $ Cumraíochta = Zend_Config_Ini nua ( APPLICATION_PATH. '/ Configs / navigation.ini', APPLICATION_ENV); $ Coimeádán = Zend_Navigation nua ($ default cumraíochta->); / / Add Anois deireanach ar an 25 tuairiscí nuachta $ Nuacht = Nuacht nua (); $ Leathanaigh = $ getNavigationEntries nuacht-> (); foreach ($ leathanaigh MAR $ leathanach seo) { $ Page = Zend_Navigation_Page_Mvc nua ($ leathanach seo); $ Coimeádán-> findOneBy ('lipéad', 'An Nuacht is Déanaí') -> addPage ($ leathanach seo); } $ Amharc-> nascleanúint ($ coimeádán); }
rud a chaithfear a chur leis go bhfuil ar de chineál éigin caching (ag baint úsáide as Zend_Cache dócha;)) ar shlí eile é seo ag dul a bheith costasach go leor le gach ualach leathanach.


















































Sin díreach cad a bhí mé ag lorg - go raibh maith agat as sampla soiléir i ndáiríre. Gártha. G