Zend Per-Moduli bazë settings Kornizë
Unë kam krijuar një follow për këtë post që kërkon më pak konfigurim, ju lutem shikoni Module Bazuar Layout - Zend Kornizë .
Kur përdorni kuadrin Zend me module, e qartë e tij se në qoftë se ju jeni duke të ndryshme (sub-) faqet e jashtë të njëjtën kërkesë që nuk është e detyruar të duan të njëjtën Scripts layout për secilën pjesë. Unë vendosa të shkoj me strukturën faqen e mëposhtme:
/ Aplikimi / Kontrolluesit ... / Modele / Module / Default / Kontrolluesit / Layout / Scripts / Shikime / Scripts / AnotherModule ... / Scripts
Problemi ishte ngritja Scripts layout mbi një bazë për-modul. Përgjigja erdhi përmes përdorimit të një Helper Veprimit. Vendosja Layouts në një bazë për-modul përfshin tre hapa:
- Application.ini (ose përbërje të ngjashme konfigurimit):
= APPLICATION_PATH admin.resources.layout.layoutPath "/ modules / admin / layouts / Scripts" = Default.resources.layout.layoutPath APPLICATION_PATH "/ modules / default / layouts / Scripts" = Member.resources.layout.layoutPath APPLICATION_PATH "/ modules / anëtar / layouts / Scripts" = Affiliate.resources.layout.layoutPath APPLICATION_PATH "/ modules / affiliate / layouts / Scripts"
- Krijo Helper Veprimi juaj:
<? Php / ** * Vë në rrugën paraqitjen në një bazë për-modul * @ * Autori Lloyd Watkin <lloyd@evilprofessor.co.uk> * @ Viti 2010/01/01 * / Pro_Controller_Action_Helper_SetLayoutPath klasë shtrihet Zend_Controller_Action_Helper_Abstract { / ** * Rrugën e vë layout bazuar në modulin * / preDispatch publike function () { $ Module = getRequest $ this-> () -> getModuleName (); në qoftë se ($ bootstrap = getActionController $ this-> () - GetInvokeArg> ('bootstrap')) { $ Config = $ getOptions bootstrap-> (); if ((isset $ config ['layoutPath'] ['layout'] [$ modul] ['burimet'])) { $ LayoutPath = $ Config [$ modul] ['layoutPath'] ['layout'] ['burimet']; getActionController $ this-> () - GetHelper> ('layout') - SetLayoutPath> ($ layoutPath); } } } }
- Dhe së fundi boostrap ndihmës veprimit:
... / ** * Sets up scripts paraqitjen në një bazë për-modul * / _initLayoutHelper mbrojtura function () { $ This-> bootstrap ('frontController'); $ = Layout Zend_Controller_Action_HelperBroker:: addHelper ( Pro_Controller_Action_Helper_SetLayoutPath ri ()); } ...


















































Hi thanks for your parë dobishme tutorial por më trego ku kam krijuar ndihmëtar veprim me dosjen emrin magjistare?
behrang
Hi Behrang, të krijojë ndihmës veprim me cilado emrin që ju pëlqen, unë kam "bibliotekë" të mi me namespace 'Pro'. Ju mund po aq e lehtë thirrjen 'SetLayoutPath "të klasës dhe e vuri atë kudo që të pëlqen, me kusht që kodi mund të gjeni dhe të ju japë klasat e kërkuara
Hi, iam ngatërruar me ngritjen e bazës së të dhënave të veçanta modul settings ... ka njeri të ketë një ide?
Unë mendoj se kjo mund të arrihet lehtë usign model më sipër. Së pari, të krijojë mundësitë në dosjen tuaj ini përgjatë fotografi të:
moduleName.db.user = "
moduleName.db.password = "
moduleName2.db.user = "
... Etj ...
Pastaj thjesht gjeneruar lidhja juaj e bazës së të dhënave, si e shihni të arsyeshme (Zend_Db:: fabrika () ose të ngjashme) dhe fsheh atë larg në regjistër ose vendosjen e tij si përshtatës default nëse përdoret Zend_Db_Table (Zend_Db_Table:: setDefaultAdapter ()).