Zend Framework Per-Moduli settings bazë
Unë kam krijuar një follow për këtë post që kërkon më pak konfigurim, ju lutem shikoni Layout Module Based - Zend Kornizë .
Kur përdorni kuadrin Zend me module, të dukshme e tij se në qoftë se ju xhironi ndryshme (sub-) faqet off të njëjtën kërkesë ju nuk shprehin domosdoshmërisht duan të njëjtat Scripts paraqitjen për çdo pjesë. Unë vendosa të shkoj me strukturën e faqes e mëposhtme:
/ Application / Kontrolluesit ... / Modele / Module / Default / Kontrolluesit / Faqosja / Scripts / Views / Scripts / AnotherModule ... / Scripts
Problemi u ngritjen Scripts paraqitjen në një bazë per-modul. Përgjigja erdhi përmes përdorimit të një Helper Veprimit. Ngritja Layouts në një bazë per-modul përfshin tre hapa:
- Application.ini (apo organizim të ngjashme konfigurimit):
admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / Layouts / scripts" default.resources.layout.layoutPath = APPLICATION_PATH "/ module / default / Layouts / scripts" member.resources.layout.layoutPath = APPLICATION_PATH "/ module / Anëtari / Layouts / scripts "affiliate.resources.layout.layoutPath = APPLICATION_PATH" / modules / Filialin / Layouts / scripts " - Krijo Helper tuaj të Veprimit:
<? Php / ** * Përcakton shtegun e layout në një bazë per-modul * * @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk> * @ Prej 2010-01-01 * / klasë Pro_Controller_Action_Helper_SetLayoutPath shtrihet Zend_Controller_Action_Helper_Abstract { / ** * Vë rruga paraqitjen bazuar në modulin * / preDispatch publik funksion () { $ Moduli = $ this-> getRequest () -> getModuleName (); if ($ bootstrap = $ this-> getActionController () -> GetInvokeArg ('bootstrap')) { $ Config = $ bootstrap-> getOptions (); if (isset ($ config [$ modul] ['burime'] ['faqosje'] ['layoutPath'])) { $ LayoutPath = [Moduli $] $ config ['burime'] ['paraqitjen'] ['layoutPath']; $ Kjo-> getActionController () -> GetHelper ('faqosje') -> SetLayoutPath ($ layoutPath); } } } }
- Dhe së fundi boostrap e ndihmëtar të veprimit:
... / ** * Vë up Scripts paraqitjen në një bazë per-modul * / mbrojtur funksion _initLayoutHelper () { $ Kjo-> bootstrap ('frontController'); $ Layout = Zend_Controller_Action_HelperBroker :: addHelper ( ri Pro_Controller_Action_Helper_SetLayoutPath ()); } ...

















































