Same as title, i don't want using bootstrap.css and bootstrap.js. I try using:
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
],
],
],
It remove bootstrap.css but can't remove bootstrap.js. Somebody can help me?
In Yii 2.0, the yii widgets that use Twitter Bootstrap CSS & JS directly, are part of the yii2-bootstrap extension, starting with yii/bootstrap namespace. For customizing bootstrap extension specific widget assets, you could configure your own assets (CSS/JS) using the new Yii Asset Manager in your Yii Config file.
You can easily override Bootstrap or other styling defaults by changing the GridView default options. The simpler direct approach for you would be to override defaults for Yii's class configuration. You may use \Yii::$container->set to set up the needed dependencies of classes and their initial property values.
Rather the widget uses Bootstrap HTML markup as default which you can override. An example of customizing the Yii GridView is mentioned here. You can easily override Bootstrap or other styling defaults by changing the GridView default options. The simpler direct approach for you would be to override defaults for Yii's class configuration.
Of course, since these are part of the Yii2 framework, you don't want to change that file, otherwise, it will probably get updated at some stage, and all your changes would be lost. Since both of these attributes are public, you can change them from outside the class, and the easiest place to do this is in frontend/views/main.php: ` html
In web.php
config file add the following code into components array:
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapPluginAsset' => [
'js'=>[]
],
],
],
To be more comprehensive:
in order to disable Css (bootstrap.css):
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
],
],
],
in order to disable JS (bootstrap.js):
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapPluginAsset' => [
'js'=>[]
],
],
],
in order to disable JQuery (jquery.js)
'assetManager' => [
'bundles' => [
'yii\web\JqueryAsset' => [
'js'=>[]
],
],
],
In order to have all of them disabled:
'assetManager' => [
'bundles' => [
'yii\web\JqueryAsset' => [
'js'=>[]
],
'yii\bootstrap\BootstrapPluginAsset' => [
'js'=>[]
],
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
],
],
],
UPDATE
As Soju mentioned in comments, another alternative way would be disabling these files in AppAsset
class, which is located in ./assets/
, then remove the following lines:
public $depends = [
'yii\web\YiiAsset', #REMOVE
'yii\bootstrap\BootstrapAsset', #REMOVE
];
On AppAsset.php file add this:
public function init()
{
parent::init();
// resetting BootstrapAsset to not load own css files
\Yii::$app->assetManager->bundles['yii\\bootstrap\\BootstrapAsset'] = [
'css' => [],
'js' => []
];
}
For anyone that gets "Invalid Call" errors you have to add Ali's answer to 'components' in $config variable in app/config/web.php
E.g.
'components' => [
'assetManager' => [
'bundles' => [
'yii\web\JqueryAsset' => [
'js'=>[]
],
'yii\bootstrap\BootstrapPluginAsset' => [
'js'=>[]
],
'yii\bootstrap\BootstrapAsset' => [
'css' => []
]
]
],
...
],
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With