私は実際にZF1でモジュールを作成しようとしていますが、これは本当に「プラグイン」のようになりたいです。メイン アプリケーションは、 の下にあるデフォルトのレイアウトを使用しますdata/current/views/layouts
。
最初の問題、私のモジュールは、デフォルトで次のレイアウトを使用しますapplication/views/layouts/default.phtml
。私が望むのは、他のものを使用することです(上記を参照)。だから私はこれをしました:
public function init() {
parent::init();
$layout = Zend_Layout::getMvcInstance();
$layout->setLayoutPath(DATA_PATH . '/view/layouts');
$layout->setLayout('common');
}
2 つ目の問題は、このレイアウト ( data/current/views/layouts
) では、実際にいくつかの部分ビューをレンダリングしていることです。しかし、モジュールからレイアウトを設定しようとすると、それらのパーシャルが見つからないため、エラーが発生しました (コンテキストのため、モジュール コンテキストからパーシャルをロードしようとしています)。モジュールを機能させるために、これらのパーシャルをモジュールにコピーしたくありません (ダーティでスケーラブルではありません)。問題は、モジュール アクション (コントローラー/アクション) を共通のレイアウトにレンダリングする方法ですが、パーシャル エラーが発生しないことです。
ご協力ありがとうございました