Zend Frameworkは、モジュールごとのベースの設定
私は以下の設定を必要とするこの記事へのフォローを作成した、以下を参照してください。 Zend Frameworkの-モジュールベースのレイアウトを 。
使用する場合はZend Frameworkを同じアプリケーションから様々な(サブ)サイトを実行している場合に、モジュールとの明白なことをするには、必ずしも同じしたくないレイアウトスクリプトの各部分のために。 私は以下のサイト構造を使用することにしました。
/アプリケーション /コントローラ ... /モデル /モジュール /デフォルト /コントローラ /レイアウト /スクリプト /ビュー /スクリプト / anotherModule ... /スクリプト
問題は、モジュール単位でのレイアウトのスクリプトを設定した。 答えは、アクションヘルパーを使用して経由して来た。 モジュール単位でのレイアウトを設定するには、3つの手順を実行します。
- 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"/モジュール/アフィリエイト/レイアウト/スクリプト"
- あなたのアクションのヘルパーを作成します。
<?PHP / ** *モジュール単位でレイアウトパスを設定します。 * * @著者ロイドワトキン<lloyd@evilprofessor.co.uk> * @ 2010年1月1日以降 * / クラスPro_Controller_Action_Helper_SetLayoutPath Zend_Controller_Action_Helper_Abstractを拡張 { / ** *モジュールに基づいてレイアウトパスを設定します。 * / パブリック関数preDispatch()が { $モジュール=の$ this -> getRequest() - > getModuleName(); 場合($ブートストラップ=の$ this -> getActionController() - > getInvokeArg('ストラップ')){ 設定$ = $ストラップ - >はgetOptions(); 場合(どうかの判断(の$ config [$モジュール] ['リソース'] ['レイアウト'] ['layoutPath'])){ $ layoutPath = 設定$ [$モジュール] ['リソース'] ['レイアウト'] ['layoutPath']; の$ this -> getActionController() - >にgetHelper('レイアウト') - > setLayoutPath($ layoutPath); } } } }
- そして最後にブートストラップアクションヘルパーを:
... / ** *モジュール単位でのレイアウトのスクリプトを設定します * / 保護機能_initLayoutHelper() { の$ this ->ブートストラップ('frontController'); $レイアウト= Zend_Controller_Action_HelperBroker::addHelper( 新しいPro_Controller_Action_Helper_SetLayoutPath()); } ...
















































