Bootstrap Asset Bundle extension for Yii2 framework with official Composer
This is the Bootstrap extension for Yii framework 2.0. It encapsulates Bootstrap distribution assets and thus makes using Bootstrap in Yii applications extremely easy.
-
No Bower, Composer installation only
-
CDN & Official assets source provided
-
Version Controll refers to jQuery
This library requires the following:
- PHP 5.4.0+
- yiisoft/yii2 2.0.6+
- twbs/bootstrap 4.0+
- yidas/yii2-jquery 2.0+
The preferred install way is through Composer:
composer require yidas/yii2-bootstrap
Version options refered Bootstrap release:
composer require yidas/yii2-bootstrap ~3.0
composer require yidas/yii2-bootstrap ~4.0
Or you could edit composer.json
with adding package in require section then run composer update
.
"yidas/yii2-bootstrap": "*"
Register or depend Asset into your application:
yidas\yii\bootstrap\BootstrapAsset
For example, to register Bootstrap assets in view :
\yidas\yii\bootstrap\BootstrapAsset::register($this);
Or as dependency in your app asset bundle :
namespace app\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yidas\yii\bootstrap\BootstrapAsset'
];
}
You could switch Asset to use CDN distribution by configuring config
file:
'components' => [
'assetManager' => [
'bundles' => [
'yidas\yii\bootstrap\BootstrapAsset' => [
'cdn' => true,
// 'cdnVersion' => '4.1.3',
],
],
],
],
You could also specify CDN source you like:
'assetManager' => [
'bundles' => [
'yidas\yii\fontawesome\FontawesomeAsset' => [
'cdn' => true,
'cdnCSS' => ['https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'],
'cdnJS' => ['https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js'],
],
],
],
This Bootstrap extension required jQuery Javascript library, you could set yii\web\JqueryAsset
in $depends
, or simplly depends a asset included your own jQuery JS file whether is CDN or not.
public $depends = [
//'yii\web\JqueryAsset',
'yidas\yii\jquery\JqueryAsset',
'yidas\yii\bootstrap\BootstrapAsset'
];
Another way, you could easliy enable jquery dependency by setting jquery
property form BootstrapAsset
:
'components' => [
'assetManager' => [
'bundles' => [
'yidas\yii\bootstrap\BootstrapAsset' => [
'jquery' => true,
// 'cdn' => true,
],
'yidas\yii\jquery\JqueryAsset' => [
// 'cdn' => true,
],
],
],
],
composer update yidas/yii2-bootstrap
composer update twbs/bootstrap
composer require twbs/bootstrap 4.1.3