モジュール構成

指定:ZF1.9.1;

2モジュール-デフォルトおよび管理者:デフォルトは/ application、管理者は/ application / modules / admin

単一の設定があります-/application/config/application.ini

行を追加する場合(

admin.resources.layout.layout = admin





別の行を追加すると、管理モジュールはデフォルトでレイアウトをロードし続けます:

resources.layout.layout = admin





その後、レイアウトが変更されますが、サイト全体が対象です。



Admin_Bootstrapを作成すると、最初のケースでは、サイト全体のレイアウトが変更されます。



注目の質問:モジュール指向の設定を正しく追加する方法は?



UPD :katの下にプラグインをロードするためのソリューション(シンプルなプラグインの形式)



application.iniに次を追加します。

resources.modules[] =





モジュールの空のブートストラップを作成し、プラグインを作成します。

 <?php class Plugin_ModuleLoader extends Zend_Controller_Plugin_Abstract { /** * * @var array */ protected $_options; /** * * @var Zend_Controller_Front */ protected $_front; /** * * @param string $moduleName      */ protected function _setupModulePlugins($moduleName) { if (!empty($this->_options[$moduleName]) && !empty($this->_options[$moduleName]['plugins'])) { foreach ($this->_options[$moduleName]['plugins'] AS $plugin) { $this->_front->registerPlugin(new $plugin); } } } public function routeShutdown(Zend_Controller_Request_Abstract $request) { $this->_front = Zend_Controller_Front::getInstance(); $options = $this->_front->getParams('bootstrap'); $options = $options['bootstrap']->getOptions(); if (!empty($options['moduleloader'])) { $this->_options = $options['moduleloader']; $this->_setupModulePlugins($request->getModuleName()); } } }
      
      







application.iniで:

moduleloader.default.plugins.plugin1 = Plugin_Plugin1

moduleloader.default.plugins.plugin2 = Plugin_Plugin2

moduleloader.admin.plugins.plugin1 = Admin_Plugin_Plugin1

moduleloader.admin.plugins.plugin2 = Admin_Plugin_Plugin2







All Articles