Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/gl/_gl_tag_layoutpath) [function.fopen]: failed to open stream: Disk quota exceeded in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1183

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1184

Warning: fwrite(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1188

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1190
Evilprofessor.co.uk layoutPath »

Posts tagged: layoutPath

Zend Framework por módulo opcións baseadas

Por , venres 01 de xaneiro de 2010 22:40

Eu creei unha continuación a este post, que require menos configuración, consulte Esquema de Módulo Based - Zend Framework .

Usando o Zend Framework con módulos, a súa evidente que se está executando varios (sub-) sitios fóra do mesmo programa que non quere necesariamente os mesmos guións de deseño para cada parte. Eu decidimos ir coa estrutura seguinte sitio web:

  / Aplicación
     / Controladores
         ...
     / Modelos
     / Modules
         / Default
             / Controladores
             / Deseño
                 / Scripts
             / Views
                 / Scripts
         / AnotherModule
             ...
     / Scripts

O problema foi a creación dos scripts de deseño nunha base por módulo. A resposta veu a través da utilización de un auxiliar de acción. Configurar os esquemas nunha base por módulo implica tres pasos:

  1. Application.ini (ou setup de configuración similar):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / esquemas / scripts"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ módulos / default / esquemas / scripts"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / membros / esquemas / scripts"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / afiliados / esquemas / scripts" 
  2. Crea o teu axudante de acción:
      <? PHP
     / **
      * Define o camiño de deseño nunha base por módulo
      *
      * @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Since 2010/01/01
      * /
     clase Pro_Controller_Action_Helper_SetLayoutPath
         estende Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Camiño Esquema define a base do módulo
          * /
         preDispatch función pública ()
         {
        	 $ Module = $ this-> GetRequest () -> getModuleName ();
    
    	     se (bootstrap $ = $ this-> getActionController ()
    	                        -> GetInvokeArg ("bootstrap")) {
    
    	         $ Config = bootstrap-> $ getOptions ();
    
    	         if (isset ($ config [$ módulo] ['recursos'] ['esquema'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  [Module $] $ config ['recursos'] ['esquema'] ['layoutPath'];
    	             $ This-> getActionController ()
    	                  -> GetHelper ('layout')
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. E, por último boostrap o auxiliar de acción:
      ...
         / **
          * Define os scripts de deseño nunha base por módulo
          * /
         protexido función _initLayoutHelper ()
    	 {
    	     $ This-> inicio ("frontController ');
    	     $ Deseño = Zend_Controller_Action_HelperBroker :: addHelper (
    	         nova Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 












Tema por Panorama Themocracy

5 visitantes en liña agora
4 persoas, 1 bots, 0 membros
Max visitantes hoxe: 11 ás 01:15 am UTC
Este mes: 40 en 23-05-2012 03:33 pm UTC
Este ano: 69 en 27-02-2012 09:56 pm UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC