Inlägg taggade: Modul

Zend Framework per modul layout Inställningar - Uppföljning

Genom att , tisdag 16 februari, 2010 20:48

Som en uppföljning till mitt tidigare inlägg per modul baserad layoutinställningar för Zend Framework , jag har uppdaterat koden kräva mindre konfiguration än tidigare (inte för att det krävs mer än några rader i din ansökan konfiguration!).
Fortsätt läsa 'Zend Framework Per Inställningar Modul layout - Uppföljning' »

Zend Framework Per-Module baserade inställningar

Genom att , fredag ​​1 januari 2010 22:40

Jag har skapat en uppföljning till denna tjänst som kräver mindre konfiguration, se modulbaserat Layout - Zend Framework .

När du använder Zend Framework med moduler, dess uppenbara att om du kör olika (sub-) sajter av samma program som du inte nödvändigtvis vill ha samma layout skript för varje del. Jag bestämde mig för att gå med på följande webbplats struktur:

  / Application
     / Styrenheter
         ...
     / Modeller
     / Modules
         / Default
             / Styrenheter
             / Layout
                 / Skript
             / Visningar
                 / Skript
         / AnotherModule
             ...
     / Skript

Problemet var att sätta upp layouten skript på en per-modul basis. Svaret kom genom att använda en handlingsplan Helper. Ställa upp layouter på en per-modul grund innebär tre steg:

  1. Application.ini (eller liknande konfiguration Setup):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / layouter / script"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / layouter / script"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / member / layouter / script"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / affiliate / layouter / script" 
  2. Skapa din Åtgärd Helper:
      <? Php
     / **
      * Ställer layouten vägen på en per-modul basis
      *
      * @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Sedan 2010/01/01
      * /
     klass Pro_Controller_Action_Helper_SetLayoutPath
         sträcker Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Ställer layout vägen baserade på modul
          * /
         public function preDispatch ()
         {
        	 $ Modul = $ this-> GetRequest () -> getModuleName ();
    
    	     if ($ bootstrap = $ this-> getActionController ()
    	                        -> GetInvokeArg ('programladdare')) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ module] ['resurser'] ['layout'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  $ Config [$ module] ['resurser'] ['layout'] ['layoutPath'];
    	             $ This-> getActionController ()
    	                  -> GetHelper (layout)
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Och till sist boostrap åtgärden helper:
     ...  / *** Ställer in layout skript på en per-modul basis * / protected funktionen _initLayoutHelper () {$ this-> bootstrap (frontController '), $ layout = Zend_Controller_Action_HelperBroker :: addHelper (ny Pro_Controller_Action_Helper_SetLayoutPath ());} .. . 












Panorama Tema av Themocracy

4 besökare online nu
4 gäster, 0 bots, 0 medlemmar
Max besökare idag: 13 på 08:46 pm UTC
Denna månad: 16 kl 2012/01/05 13:02 UTC
I år: 69 vid 27-02-2012 09:56 am UTC
Tiderna: 130 kl 28-03-2011 10:40 UTC