Tagged Indlæg: modul

Zend Framework Per Modul Layout Indstillinger - Opfølgning

Ved , Tirsdag 16 feb, 2010 20:48

Som en opfølgning på mit tidligere indlæg per modul baseret layout indstillinger for Zend Framework , jeg har opdateret koden til at kræve mindre konfiguration end før (ikke at det krævede mere end et par linjer i din ansøgning konfiguration!).
Fortsæt læsning 'Zend Framework Per Modul Layout Indstillinger - Follow Up' »

Zend Framework Per-modul baseret indstillinger

Ved , Fredag ​​1 Jan 2010 22:40

Jeg har oprettet en opfølgning til dette indlæg, som kræver mindre konfiguration, se Modul baseret layout - Zend Framework .

Ved brug af Zend Framework med moduler, dens indlysende, at hvis du kører forskellige (sub-) steder fra samme program, du ikke nødvendigvis vil have samme layout scripts for hver del. Jeg besluttede at gå med følgende websted struktur:

  / Anvendelse
     / Controllere
         ...
     / Modeller
     / Moduler
         / Default
             / Controllere
             / Layout
                 / Scripts
             / Visninger
                 / Scripts
         / AnotherModule
             ...
     / Scripts

Problemet var at oprette layoutet scripts på en per-modul basis. Svaret kom igennem ved hjælp af en Handling Helper. Opsætning af layout på en per-modul grundlag omfatter tre trin:

  1. Application.ini (eller lignende konfiguration opsætning):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / layout / scripts"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / layout / scripts"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / Medlem / layout / scripts"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / affiliate / layout / scripts" 
  2. Opret din Handling Helper:
      <? Php
     / **
      * Sætter layoutet sti på en per-modul grundlag
      *
      * @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Siden 2010/01/01
      * /
     klasse Pro_Controller_Action_Helper_SetLayoutPath
         udvider Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Indstiller layout vej baseret på modul
          * /
         offentlig funktion preDispatch ()
         {
        	 $ Modul = $ this-> GetRequest () -> getModuleName ();
    
    	     if ($ bootstrap = $ this-> getActionController ()
    	                        -> GetInvokeArg ('bootstrap')) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ modul] ['ressourcer'] ['Layout'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  $ Config [$ modul] ['ressourcer'] ['Layout'] ['layoutPath'];
    	             $ This-> getActionController ()
    	                  -> GetHelper ('Layout')
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Og endelig boostrap handlingen hjælper:
      ...
         / **
          * Indstiller op layoutet scripts på en per-modul grundlag
          * /
         beskyttet funktion _initLayoutHelper ()
    	 {
    	     $ This-> bootstrap ('frontController');
    	     $ Layout = Zend_Controller_Action_HelperBroker:: addHelper (
    	         nye Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 












Panorama Tema ved Themocracy

9 besøgende online nu
4 gæster, 5 bots, 0 medlemmer
Max besøgende i dag: 17 kl 6:54 UTC
Denne måned: 17 på 18-08-2011 06:54 UTC
I år: 130 kl 28-03-2011 22:40 UTC
Al tid: 130 kl 28-03-2011 10:40 UTC