Označené příspěvky: Modul

Zend Framework za nastavení rozvržení Module - navazující

Tím, , v úterý 16 února 2010 20:48

V návaznosti na můj předchozí příspěvek na modul na uspořádání nastavení pro Zend Framework , jsem aktualizoval kód vyžadovat méně konfiguraci, tedy před (ne že by to vyžadovalo více než pár řádek v konfiguraci aplikace!).
Pokračovat ve čtení "Zend Framework za nastavení modulu Dispozice - navazující" »

Zend Framework Per-modul založený nastavení

Tím, , pátek 01.01.2010 22:40

Vytvořil jsem Jít na tento příspěvek, který vyžaduje méně konfigurace, viz modul založený Layout - Zend Framework .

Při použití Zend Framework s moduly, jejich zjevné, že pokud používáte různé (sub-) stránky z stejná aplikace, nemusí chtít stejné rozložení scénářů pro každou část. Rozhodl jsem se jít s následující struktury webu:

  / Aplikace
     / Regulátory
         ...
     / Modely
     / Modules
         / Default
             / Regulátory
             / Rozvržení
                 / Scripts
             / Zobrazení
                 / Scripts
         / AnotherModule
             ...
     / Scripts

Problém byl v nastavení rozvržení skripty na bázi modulu. Odpověď přišla až s použitím Akce Helper. Nastavení rozložení na jednotlivé moduly základě zahrnuje tři kroky:

  1. Application.ini (nebo podobné nastavení konfigurace):
      admin.resources.layout.layoutPath APPLICATION_PATH = "/ modules / admin / layouty / scripts"
     default.resources.layout.layoutPath APPLICATION_PATH = "/ modules / default / layouty / scripts"
     member.resources.layout.layoutPath APPLICATION_PATH = "/ modules / člen / layouty / scripts"
     affiliate.resources.layout.layoutPath APPLICATION_PATH = "/ modules / affiliate / layouty / scripts" 
  2. Vytvořte si svůj Akce Helper:
      <? Php
     / **
      * Nastavení rozložení na cestu za modul základě
      *
      * @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Od 1.1.2010
      * /
     Třída Pro_Controller_Action_Helper_SetLayoutPath
         rozšiřuje Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Nastavení vzhledu cestu založenou na modulu
          * /
         public function preDispatch ()
         {
        	 $ Modul = $ this-> GetRequest () -> getModuleName ();
    
    	     if ($ bootstrap = $ this-> getActionController ()
    	                        -> GetInvokeArg ("bootstrap")) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ modul] [zdrojů '] [' layout '] [' layoutPath '])) {
    	             $ = LayoutPath
    	                  $ Config [$ modul] [zdrojů '] [' layout '] [' layoutPath '];
    	             $ This-> getActionController ()
    	                  -> GetHelper ('layout')
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. A konečně boostrap akce pomocníka:
      ...
         / **
          * Nastavuje uspořádání skripty pro jednotlivé moduly základě
          * /
         funkce ochrany _initLayoutHelper ()
    	 {
    	     $ This-> bootstrap ("frontController ');
    	     $ Layout = Zend_Controller_Action_HelperBroker: addHelper (
    	         Nový Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 












Panorama Téma, které Themocracy

9 návštěvníků online
5 osob, 4 boty, 0 členů
Max návštěvníků dnes: 17 v 06:54 UTC
Tento měsíc: 17 v 18-08-2011 06:54 UTC
Tento rok: 130 u 28-03-2011 22:40 UTC
Za celé období: 130 u 28-03-2011 22:40 UTC