Yii2 отключить Bootstrap
Как в Yii2 можно полностью отключить подгрузку всех файлов bootstrap (js и css)?
Установил Basic Template Yii2, зашел в AppAsset.php закомментировал содержимое $depends:
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
'js/script.js'
];
public $depends = [
// 'yii\web\YiiAsset',
// 'yii\bootstrap4\BootstrapAsset',
];
}
Но скрипт бутстрапа в конце страницы и css в <head> все равно подгружаются
Покопался в коде, пришел к выводу, что если использовать любой виджет bootstrap4, бутстрап будет автоматически добавляться на страницу. Из layout убрал следующие строки:
use app\widgets\Alert;
use yii\bootstrap4\Breadcrumbs;
use yii\bootstrap4\Html;
use yii\bootstrap4\Nav;
use yii\bootstrap4\NavBar;
Ну и соответственно убрал из кода использование этих виджетов. И только после этих действий bootstrap перестал подгружаться.
Теперь вопрос - как отключить подгрузку всех файлов bootstrap (js и css), продолжив при этом использовать виджеты bootstrap4? Т.е. Чтобы при написании конструкции вида:
<?= Breadcrumbs::widget([
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]) ?>
Хлебные крошки создавались, но так как стили и скрипты не подключены, это выглядело как голый HTML.
Примерно так должно быть в результате:
Возможно ли такое реализовать? Если да, то как?
Ответы (2 шт):
- 'yii\web\YiiAsset' лучше не удалять
- скорее всего где-то в слоях/страницах(
views) есть что-то вродеBootstrapAsset::register($this);
В conf.php нужно указать, что в bundle ничего не кешировать от bootstrap
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapPluginAsset' => [
'js'=>[]
],
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
],
...
]
...
]


