Posts tagged: layoutPath

Zend Framework Per-modulis balstās uzstādījumi

Ar , piektdiena 2010 1 janvāris 10:40 pm

Esmu izveidojis Sekojums pie šo amatu, kas prasa mazāk konfigurāciju, lūdzu, skatīt modulis balstās izkārtojums - Zend Framework .

Lietojot Zend Framework ar moduļiem, tās acīmredzamu, ka, ja jūs lietojat dažādus (apakš-) vietu pie paša pieteikuma jums nav obligāti grib to pašu izkārtojumu skripti katrai daļai. Es izlēmu iet ar šādu vietnes struktūru:

  / Piemērošana
     / Kontrolieri
         ...
     / Modeļi
     / Moduļi
         / Default
             / Kontrolieri
             / Izkārtojums
                 / Skriptus
             / Skatījumi
                 / Skriptus
         / AnotherModule
             ...
     / Skriptus

Problēma bija izveidot izkārtojuma skriptus par katru moduli atsevišķi. Atbilde nāca caur izmantojot rīcības Helper. Izveidot izkārtojumu par vienu moduli pamatojoties ietver trīs darbības:

  1. Application.ini (vai līdzīgs konfigurācija setup):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / shēmām / scripts"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / shēmām / scripts"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / dalībvalstu / izkārtojumi / scripts"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / Filiāle / izkārtojumi / scripts" 
  2. Izveidojiet savu rīcību Helper:
      <? Php
     / **
      * Nosaka izkārtojums ceļu uz vienu moduli pamata
      *
      * @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Kopš 2010-01-01
      * /
     klase Pro_Controller_Action_Helper_SetLayoutPath
         paplašina Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Nosaka izkārtojums ceļš pamatā moduli
          * /
         valsts funkciju preDispatch ()
         {
        	 $ Modulis = $ šīs-> getRequest () -> getModuleName ();
    
    	     if ($ sāknēšanas = $ šīs-> getActionController ()
    	                        -> GetInvokeArg ("sāknēšanas ')) {
    
    	         $ Config = $ palaišanas programmas-> getOptions ();
    
    	         if (isset ($ config [$ modulis] ['resursi'] ['izkārtojums'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  $ Config [$ modulis] ['resursi'] ['izkārtojums'] ['layoutPath'];
    	             $ This-> getActionController ()
    	                  -> GetHelper ("izkārtojums")
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Un visbeidzot boostrap rīcības palīgs:
      ...
         / **
          * Veido izkārtojuma skriptus par katru moduli, pamatojoties
          * /
         aizsargājamo funkcija _initLayoutHelper ()
    	 {
    	     $ This-> sāknēšanas ("frontController ');
    	     $ Izkārtojums = Zend_Controller_Action_HelperBroker :: addHelper (
    	         jauns Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 












Panorama Theme Themocracy

5 Apmeklētāji tiešsaistē tagad
4 viesi, 1 boti, 0 biedri
Max apmeklētāji šodien: 45 pie 05:22 pm UTC
Šajā mēnesī: 45 pie 24-04-2012 05:22 UTC
Šogad 69 pie 27-02-2012 09:56 am UTC
Visu laiku: 130 pie 28-03-2011 10:40 pm UTC