Posts tagged: layoutPath

Zend Framework už modulio pagrindu nustatymai

Autorius , penktadienį 1. sausio 2010 10:40 pm

Aš sukūriau tokį Taip pat į šį postą, kuris reikalauja mažiau konfigūracijos, žr modulis Remiantis išdėstymas - Zend Framework .

Jei naudojate Zend Framework su moduliais, jos akivaizdu, kad jei jūs naudojate įvairius (sub-) - off toje pačioje paraiškoje jūs nebūtinai nori tuos pačius išdėstymo scenarijus kiekvienai daliai. Aš nusprendė eiti su šios svetainės struktūrą:

  / Taikymas
     (Arba) valdikliai
         ...
     / Modeliai
     / Modules
         / Default
             (Arba) valdikliai
             / Išdėstymas
                 Arba scenarijai
             / Views
                 Arba scenarijai
         / AnotherModule
             ...
     Arba scenarijai

Problema buvo įsteigti išdėstymo scenarijus už modulio pagrindu. Atsakymas atėjo naudojantis veiksmų padėjėjas. Įsteigti maketus už modulio pagrindu apima tris žingsnius:

  1. Application.ini (ar panašios konfigūracijos nustatymas):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ Moduliai / admin / maketai ir (arba) scenarijus"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ Moduliai / default / maketai ir (arba) scenarijus"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / member / maketai ir (arba) scenarijus"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ Moduliai / partnerių / maketai ir (arba) scenarijus" 
  2. Sukurti savo veiksmų Helper:
      <? Php
     / **
      * Nustato išdėstymo kelią už modulio pagrindu
      *
      * @ Author. Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Nuo 2010-01-01
      * /
     klasė Pro_Controller_Action_Helper_SetLayoutPath
         išplečia Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Nustato išdėstymas kelias modulis
          * /
         public function preDispatch ()
         {
        	 $ Module = $ this-> getRequest () -> getModuleName ();
    
    	     jei ($ savirankos = $ this-> getActionController ()
    	                        -> GetInvokeArg (Bootstrap ")) {
    
    	         $ Config = $ savirankos-> getOptions, ();
    
    	         if (isset ($ config [$ modulis] ['išteklių'] ['išdėstymas'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  $ Config [$ modulis] ['išteklių'] ['išdėstymas'] ['layoutPath "];
    	             $ This-> getActionController ()
    	                  -> GetHelper (išdėstymas ")
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Ir galiausiai boostrap veiksmų pagalbininkas:
      ...
         / **
          * Nustato skriptus maketams už modulio pagrindu
          * /
         apsaugotas funkcija _initLayoutHelper ()
    	 {
    	     $ This-> savirankos ("frontController);
    	     $ Išdėstymas = Zend_Controller_Action_HelperBroker :: addHelper (
    	         naujas Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 












"Panorama" tema pagal Themocracy

8 lankytojai online now
4 Svečiai, 4 botai, 0 nariai
Max lankytojai šiandien: 12 07:51 pm UTC
Šį mėnesį: 40 23-05-2012 03:33 am UTC
Šiais metais: 69 27-02-2012 09:56 am UTC
Visas laikas: 130, 28-03-2011 10:40 pm UTC