Убрать полностью yii2-bootstrap в т.ч. из assets.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
i-programmer
Сообщения: 101
Зарегистрирован: 2015.08.24, 18:50

Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение i-programmer »

Хочу в проекте использовать yii2-bootstrap4. Соответственно зачем мне держать yii2-bootstrap в вендоре, а также постоянную папку в /assets?

В конфиге я могу написать:

Код: Выделить всё

	    'assetManager' => [
		    'bundles' => [
			    'yii\web\JqueryAsset' => [
//				    'js'=>[]
			    ],
			    'yii\bootstrap\BootstrapPluginAsset' => [
//				    'js'=>[]
			    ],
			    'yii\bootstrap\BootstrapAsset' => [
				    'css' => [],
			    ],

		    ],
	    ],
а в AppAsset

Код: Выделить всё

  public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap4\BootstrapAsset',
    ];
Но это лишь отключает старый бутстрап от загрузки. Как мне полностью удалить старый бутстрап? Или если я вот так в конфиге прописал - то он никогда нигде и не будет поттягиваться?
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение SiZE »

По умолчанию yiisoft/yii2-bootstrap завезен только в шаблоны basic и advanced. После того как вы развернули шаблон, он ваш. Просто удалите из composer.json этот пакет и больше ничего делать не надо (ну естественно упоминания из кода надо удалить, а в конфиг ничего добавлять не надо)
i-programmer
Сообщения: 101
Зарегистрирован: 2015.08.24, 18:50

Re: Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение i-programmer »

SiZE писал(а): 2019.02.18, 16:27 Просто удалите из composer.json этот пакет и больше ничего делать не надо (ну естественно упоминания из кода надо удалить, а в конфиг ничего добавлять не надо)
В том-то и дело, что в composer.json я удалил его

Код: Выделить всё

 "require": {
        "php": ">=7.2.0",
        "yiisoft/yii2": "~2.0.14",
        "yiisoft/yii2-bootstrap4": "~2.0.0",
        "yiisoft/yii2-swiftmailer": "~2.0.0"
    },
и делал

Код: Выделить всё

composer install
и

Код: Выделить всё

composer update
, но он торчит в вендоре всё равно. И, как следствие, если в конфиге не отрубить - подключается на страницу.

-----------------------------------------------------------

UPD.. Посмотрел в composer.lock. yiisoft/yii2-gii и yiisoft/yii2-debug у себя требуют этот бутстрап в параметре require. Видимо в этом вся проблема
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение SiZE »

composer remove yiisoft/yii2-bootstrap и все.
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение SiZE »

i-programmer писал(а): 2019.02.19, 11:30 И, как следствие, если в конфиге не отрубить - подключается на страницу.
Твитер бутстрап не может сам по себе подключаться на странице. Значит он указан в ассетах. Ну болтается в вендоре и ладно
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение kawabanga »

Чтобы не переписывать многие плагины, которые подключают bootstrap, я сделал костыль в layout в самом начале -
unset($this->assetBundles['yii\bootstrap\BootstrapAsset']);
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение ElisDN »

Вместо костыля можно просто отключить через false BootstrapAsset и BootstrapPluginAsset в конфиге.
i-programmer
Сообщения: 101
Зарегистрирован: 2015.08.24, 18:50

Re: Убрать полностью yii2-bootstrap в т.ч. из assets.

Сообщение i-programmer »

ElisDN писал(а): 2019.02.19, 14:49 Вместо костыля можно просто отключить через false BootstrapAsset и BootstrapPluginAsset в конфиге.
а это равносильно вот этому:

Код: Выделить всё

	   
'assetManager' => [
	'bundles' => [
		'yii\web\JqueryAsset' => [
			'js'=>[]
		],
		'yii\bootstrap\BootstrapPluginAsset' => [
			'js'=>[]
		],
		'yii\bootstrap\BootstrapAsset' => [
			'css' => [],
		],

	],
],
Да? На stackoverflow такое пишут в ответах.
Через false конечно больше нравится)
Ответить