Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站。
但是有时候我们网站前台并不需要Bootstrap,只要管理后台使用Bootstrap,那么该如何单独为一个module加载Bootstrap呢?
这里有4中方法来实现这个:
1.在应用的配置文件中添加如下内容 (protected/config/main.php):
'modules'=>array(
'admin'=>array(
'preload'=>array('<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/bootstrap" title="查看bootstrap中的全部文章" target="_blank">bootstrap</a></span>'),
'components'=>array(
'<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/bootstrap" title="查看bootstrap中的全部文章" target="_blank">bootstrap</a></span>'=>array(
'class'=>'ext.bootstrap.components.Bootstrap'
)
),
// ...其他模块...
)
2.在模块初始化时加载:
public function init()
{
// import the module-level models and components
$this->setImport(array(
'admin.models.*',
'admin.components.*',
// 'ext.bootstrap.components.Bootstrap', // this will go to app config for components
));
Yii::app()->getComponent('bootstrap');// this does the loading
}
3.模块初始化加载的另一种方法:
public function init()
{
// import the module-level models and components
$this->setImport(array(
'admin.models.*',
'admin.components.*',
));
$this->configure(array(
'components'=>array(
'bootstrap'=>array(
'class'=>'ext.bootstrap.components.Bootstrap'
)
)
));
$this->getComponent('bootstrap');
}
4.模块加载时的另一种方法:
public function init()
{
// import the module-level models and components
$this->setImport(array(
'admin.models.*',
'admin.components.*',
));
$this->configure(array(
'preload'=>array('bootstrap'),
'components'=>array(
'bootstrap'=>array(
'class'=>'ext.bootstrap.components.Bootstrap'
)
)
));
$this->preloadComponents();
}