Zend Framework Per-eining sem byggir stillingar
Ég hef búið til fylgt við þessa færslu sem krefst minni stillingar, sjá Module Byggt Útlit - Zend Framework .
Þegar þú notar Zend ramma með einingar, augljós þess að ef þú ert að keyra ýmsa (undir-) síður af sama forritinu sem þú ekki endilega sömu forskriftir skipulag fyrir hvern hluta. Ég ákvað að fara með eftirfarandi síðuna uppbygging:
/ Umsókn / Stýringar ... / Módel / Einingar / Default / Stýringar / Skipulag / Forskriftir / Skoðanir / Forskriftir / AnotherModule ... / Forskriftir
Vandamálið var að setja upp skipulag forskriftir á hverja einingu grundvelli. Svarið kom með að nota Action Helper. Setja upp skipulag á hverja einingu grundvelli felur í sér þrjú skref:
- Application.ini (eða svipað stillingar skipulag):
admin.resources.layout.layoutPath = APPLICATION_PATH "/ einingar / admin / uppsetning / forskriftir" default.resources.layout.layoutPath = APPLICATION_PATH "/ einingar / default / uppsetning / forskriftir" member.resources.layout.layoutPath = APPLICATION_PATH "/ msgstr félagi / layout / forskriftir" affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ msgstr tengja / layout / forskriftir"
- Búa til Action Helper þína:
<? Php? / ** * Setur skipulag slóð á hverja einingu grundvelli * * @ Höfundur Lloyd Watkin <lloyd@evilprofessor.co.uk> * @ Síðan 2010-01-01 * / flokki Pro_Controller_Action_Helper_SetLayoutPath nær Zend_Controller_Action_Helper_Abstract { / ** * Leikmynd skipulag leið byggist á einingu * / opinber virka preDispatch () { $ Mát = $ this-> getRequest () -> getModuleName (); if ($ ræsi = $ this-> getActionController () -> GetInvokeArg ('ræsi')) { $ Samsk = $ ræsi-> getOptions (); if (isset ($ samsk [$ mát] ['auðlindir'] ['skipulag'] ['layoutPath'])) { $ LayoutPath = $ Samsk [$ mát] ['auðlindir'] ['skipulag'] ['layoutPath']; $ This-> getActionController () -> GetHelper ('skipulag') -> SetLayoutPath ($ layoutPath); } } } }
- Og loks boostrap aðgerð hjálpar:
... / ** * Setur upp skipulag forskriftir á hverja einingu grundvelli * / vernda virka _initLayoutHelper () { $ This-> ræsi ('frontController'); $ Skipulag = Zend_Controller_Action_HelperBroker :: addHelper ( Ný Pro_Controller_Action_Helper_SetLayoutPath ()); } ...

















































