Мислења обележани: модул

Zend Framework по модул Распоред Подесувања - Следете Up

Со , вторник 16 февруари 2010 20:48

Како продолжување на мојот претходен пост на по модул базирани распоред поставувања за Zend Framework , јас сум ажурирани го кодот за да бараат помалку конфигурација тогаш пред (не дека тоа бара повеќе од неколку линии во вашата апликација, конфигурација!).
Продолжи со читање "Zend Framework по модул Распоред Подесувања - Следете Up '»

Zend Framework per-Модул во местото на живеење

Со , петок 1 јануари, 2010 22:40

Јас направивме трае на овој пост која бара помалку конфигурација, ве молиме видете Модул Врз основа Распоред - Zend Framework .

Кога се користи рамка Zend со модули, неговата очигледна дека ако сте водење разни (суб-) сајтови надвор од иста апликација која не мора да сакаат исти распоред скрипти за секој дел. Решив да одам со следниве сајт структура:

  / Апликација
     / Контролери
         ...
     / Модели
     / Модули
         / Default
             / Контролери
             / Распоред
                 / Скрипти
             / Пати
                 / Скрипти
         / AnotherModule
             ...
     / Скрипти

Проблемот беше поставување на изгледот скрипти на на-модул основа. Одговорот дојде преку користење на Акционен помошник. Поставување на распоред на на-модул основа се состои од три чекори:

  1. Application.ini (или сличен конфигурација подесување):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ модули / admin / распоред / скрипти"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ модули / default / распоред / скрипти"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ модули / член / распоред / скрипти"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ модули / партнер / распоред / скрипти" 
  2. Направете ја вашата акција Helper:
      <? PHP
     / **
      * Поставување на изгледот патот на на-модул основа
      *
      * @ Author Лојд Watkin <lloyd@evilprofessor.co.uk>
      * @ Бидејќи 2010/1/1
      * /
     класа Pro_Controller_Action_Helper_SetLayoutPath
         се протега Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Колекции распоред патот врз основа на модул
          * /
         јавна функција preDispatch ()
         {
        	 $ Модул = $ ова-> getRequest () -> getModuleName ();
    
    	     if ($ подигање = $ ова-> getActionController ()
    	                        -> GetInvokeArg ("подигање")) {
    
    	         $ Config = $ подигање-> getOptions ();
    
    	         ако (isset ($ config [$ модул] ['ресурси'] ['распоред'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  $ Config [$ модул] ['ресурси'] ['распоред'] ['layoutPath'];
    	             $ Ова-> getActionController ()
    	                  -> GetHelper ('распоред')
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. И на крај boostrap акцијата помошник:
      ...
         / **
          * Поставува распоред скрипти на на-модул основа
          * /
         заштитени функција _initLayoutHelper ()
    	 {
    	     $ Ова-> подигање ('frontController');
    	     $ Распоред = Zend_Controller_Action_HelperBroker :: addHelper (
    	         нови Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 












Панорама Тема страна Themocracy

2 посетители онлајн сега
2 гости, 0-ботови, 0 членови
Макс посетители денес: 22 во 17:19 UTC
Овој месец: 26 во 2012/04/04 10:27 UTC
Оваа година: 69 на 27-02-2012 09:56 часот UTC
Сите времиња: 130 на 28-03-2011 10:40 UTC