文章標籤:LayoutPath的

Zend框架的每個模塊的基礎設置

,2010年1月1日(星期五)下午10:40

我創建了一個後續到這個職位需要更少的配置,請參閱模塊佈局- Zend框架

當使用Zend框架的模塊,其明顯的,如果你運行了相同的應用程序的不同(分)網站,你不一定要相同的佈局腳本,每個部分。 我決定去下面的網站結構:

  /應用
     /控制器
         ...
     /型號
     /模塊
         /默認
             /控制器
             /佈局
                 /腳本
             /人次
                 /腳本
         / anotherModule
             ...
     /腳本

這個問題是每一個模塊的基礎上設立的佈局腳本。 答案是通過使用一個動作助手。 每一個模塊的基礎上設立的佈局,包括三個步驟:

  1. 的的application.ini(或類似的配置設置):
      admin.resources.layout.layoutPath = APPLICATION_PATH“/模塊/管理/佈局/腳本”
     default.resources.layout.layoutPath = APPLICATION_PATH“/模塊/預設/佈局/腳本”
     member.resources.layout.layoutPath = APPLICATION_PATH“/模塊/會員/佈局/腳本”
     affiliate.resources.layout.layoutPath = APPLICATION_PATH“/模塊/子公司/佈局/腳本” 
  2. 創建你的動作助手:
      <?PHP
     / **
      *每一個模塊的基礎上設置的佈局路徑
      *
      * @作者:勞埃德·沃特金斯<lloyd@evilprofessor.co.uk>
      * @自2010-01-01
      * /
    類Pro_Controller_Action_Helper_SetLayoutPath
        延伸Zend_Controller_Action_Helper_Abstract
     {
         / **
          *集佈局路徑的基礎模塊
          * /
        公共職能preDispatch()在
         {
        	模塊=> getRequest() - > getModuleName();
    
    	    如果(引導= $> getActionController()
    	                        - > getInvokeArg('引導')){
    
    	         $ CONFIG = $引導 - > getOptions();
    
    	         (使用isset($配置[$模塊] ['資源'] ['佈局'] ['LayoutPath的'])){
    	            美元LayoutPath的=
    	                  $配置[模塊] ['資源'] ['佈局'] ['LayoutPath的'];
    	             $> getActionController()
    	                  - >中調用getHelper(“佈局”)
    	                  - > setLayoutPath($ LayoutPath的);
    	         }
        	 }
         }
     } 
  3. 最後自舉的動作助手:
      ...
         / **
          *每一個模塊的基礎上設置佈局腳本
          * /
        保護功能_initLayoutHelper()
    	 {
    	     $本 - >引導(“frontController);
    	    美元佈局Zend_Controller_Action_HelperBroker :: addHelper(
    	        新Pro_Controller_Action_Helper_SetLayoutPath());
    	 }
     ... 












全景主題 themocracy

7訪客在線
5位,2個機器人,0會員
今天最多訪問:14日上午在12:49 UTC
本月26日在2012年4月4日10:27 PM UTC
今年:27-02-2012九時56分,69時UTC
所有時間:130 28-03-2011下午10:40 UTC