我正在尝试从模块中包含yii bootstrap。我想将它保存在/ modules / myModule / extensions / bootstrap中,并将所有配置参数保留在主配置之外。有可能吗?
目前在myModule init中我做了
$this->setImport(array(
'myModule.models.*',
'myModule.components.*',
'myModule.extensions.yiistrap.helpers.TbHtml',
'myModule.extensions.bootstrap.components.*',
'myModule.extensions.bootstrap.widgets.*'
));
if (!Yii::app()->hasComponent('bootstrap')) {
Yii::setPathOfAlias('bootstrap', dirname(__FILE__) . '/extensions/bootstrap');
Yii::createComponent('bootstrap.components.Bootstrap')->init();
Yii::app()->bootstrap->register();
}
}
它适用于某些小部件,但对于大多数我都会收到错误
Property "CWebApplication.bootstrap" is not defined.
答案 0 :(得分:0)
您需要设置应用程序引导组件,这应该有效:
Yii::setPathOfAlias('bootstrap', dirname(__FILE__) . '/extensions/bootstrap');
$bootstrap = Yii::createComponent('bootstrap.components.Bootstrap');
$bootstrap->init();
Yii::app()->bootstrap = $bootstrap;
$bootstrap->register();
将config传递给bootstrap:
$config = array(
'class' => 'bootstrap.components.Bootstrap',
'option1' => ...
);
$bootstrap = Yii::createComponent($config);