現在、各モジュールのview/scripts/layout.phtmlファイル(つまり、/application/modules/moduleName/scripts/layout.phtml)でレイアウトスクリプトを探すZendセットアップがあります。これは、application.ini ファイルで layout[] を何もしない (空白) に設定することによって行われます ( resources.layout[] =
) 。
問題は、多くのモジュールが同じレイアウトを共有している可能性があることです。同じ正確なレイアウトを、それを使用する各モジュールにコピーしたくありません。特定のパスを設定することで、1 つのレイアウト スクリプトを使用するようresources.layout.layoutpath = /layoutPath
にすべてを設定できることを知っています。すべてが /layoutpath/layout.phtml を使用します。$this->_helper->layout->setLayout('foobaz');
問題は、一部のモジュールには「標準」以外の異なるレイアウトがあり、コントローラーまたはアクションごとに設定したくないことです。モジュール全体に設定し、1 か所に設定したい (または、直感的にコード/Zend で自動的に把握したい)。理想的には、現在のようにセットアップされますが、モジュールに独自の layout.phtml がない場合は、既定のモジュールのレイアウトが使用されます。
それで...どうすればいいですか?