1.解压到 protected/extensions/bootstrap (如果你没更改过你的默认扩展位置)
protected/ └── extensions └── bootstrap ├── behaviors │ └── BsWidget.php ├── components │ └── BsApi.php //核心接口文件 ├── helpers │ ├── BsArray.php //辅助类 │ └── BsHtml.php //改写原有的CHtml.php,增加功能 ├── components │ └── Bootstrap.php └── widgets //各种部件,在原有Yii的基础上,增加功能
*在此罗列出主要目录文件
2.修改 protected/config/main.php 配置文件
首先在配置文件声明一个路径别名(alias)bootstrap
再声明导入一下bootstrap下的各个组件
再在components组件中增加 'bootstrap'
return array( 'aliases'=> array( ... 'bootstrap'=>'ext.bootstrap', //解压路径 ), 'import' => array( ... 'bootstrap.behaviors.*', 'bootstrap.helpers.*', 'bootstrap.widgets.*' ), 'components' => array( ... 'bootstrap' => array( 'class' => 'bootstrap.components.BsApi', //加载核心接口 ), ... ), ... )
3.解压Boostrap V3到:themes/bootstrap
themes/boostrap/ └── assets ├── css ├── fonts └── js
4.修改模板文件
调整<head></head>之间对于css和js文件的加载
将原本yii自带的css内容全都去除,使用html5的开头,
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Yii整合Bootstrap的安装方法 | doDomoGu</title> </head>
5.在controller中初始化加载css和js
protected function beforeAction($action) { if(parent::beforeAction($action)){ ... Yii::app()->theme = 'bootstrap'; $this->bootstrapInit(); ... return true; }else{ return false; } } .... public function bootstrapInit(){ $cs = Yii::app()->clientScript; $themePath = Yii::app()->theme->baseUrl; /** * StyleSHeets */ $cs ->registerCssFile($themePath.'/assets/css/bootstrap.css') ->registerCssFile($themePath.'/assets/css/bootstrap-theme.css'); /** * JavaScripts */ $cs ->registerCoreScript('jquery') ->registerCoreScript('jquery.ui') ->registerScriptFile($themePath.'/assets/js/bootstrap.min.js',CClientScript::POS_END) ->registerScript('tooltip', "$('[data-toggle=\"tooltip\"]').tooltip(); $('[data-toggle=\"popover\"]').tooltip()" ,CClientScript::POS_READY); }
至此已经可以开始使用bootstrap V3的功能了