2009-06-19 9 views
0

私は2つのモジュールdefaultとmojoを持っています。
両方のモジュールで同じ初期ブートストラップコードの後に​​、たとえば、モジュールごとに異なるレイアウトを使用する(または異なる資格情報チェックなどを使用する)必要があります。私はこの置けばいい
:(モジュール==「モジョ」)IFはzendフレームワークのさまざまなモジュールに異なるブートストラップを使用する方法

答えて

3

のようなもの、あなたは(ZF1.8中)Zend_Applicationを使用している場合は、あなたのrelevant section in the documentationで説明されているように、モジュール固有の構成オプションを使用してこの機能を提供することができます。

これは、レイアウトは、その後、ブートストラップによって自動的に設定されるだろう

mojo.resources.layout.layout = "mojo" 

anothermodule.resources.layout.layout = "anotherlayout" 

のようなものが見えたので、設定でレイアウトを設定するためにあなたを必要とします。

もう1つの方法は、モジュール名に基づいてレイアウトを設定するためにpreDispatch()メソッドを実装するフロントコントローラプラグインを使用する方法です。

+0

+1、これは非常に思えます私の答えよりも簡単です:)しかし、layoutname.phtmlファイルはどこに行きますか?モジュール名/レイアウト?またはdefaultmodule/layouts? – iceangel89

+0

どちらの場所にも行くことができます。それをモジュールのディレクトリに入れたい場合は、モジュールオートローダーを使って別の名前空間としてモジュールを追加します。 –

+0

誰かがこれを動作させるためにテストしましたか? http://bit.ly/f3Iocから "2番目の行を" default "で前置すると、モジュール固有のレイアウトが有効になると思われるかもしれませんが、残念ながらそうではありません。最後に指定したテンプレート" – joedevon

0

私は2,3日前にこのテーマを調べ、ブートストラップ設定だけで動作するようにしました。大きな問題は、すべてのブートストラップファイルがロードされているため、レイアウトが使用されるいくつかの奇妙な結果が得られることです。

私の結論は、その場で設定を行うことができましたが、FrontControllerプラグインまたはActionControllerヘルパーで作業する必要があります。 application.iniでconfigを使用し、ブートストラップを使用して設定をロードする場合は、ヘルパーが唯一の方法です。ヘルパーからActionControllerをロードし、getInvokeArgsを実行してブートストラップをロードすることができます。 hastleたくさんの... :)

とにかく、私はブログの記事では例として、小さな実装を行ってきた:http://blog.keppens.biz/2009/06/create-modular-application-with-zend.html

グッドラック、

をイェルーン

+0

tnx、リンクiceangel89(受け入れられた答え)私に与えた非常にまっすぐ進むと簡単に実装することでした。 –

関連する問題