Здравствуйте!
Есть проект, который использует bootstrap 3 , решил перейти на bootstrap 4.
Установил композером https://github.com/yiisoft/yii2-bootstrap4
asset настроил:
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap4\BootstrapAsset', // this line
];
на большенстве страницах все ок, но есть страницы которые используют виджеты: vova07/yii2-fileapi-widget и loveorigami/yii2-modal-ajax так они подключают bootstrap 3 и получается что на страницы у меня два css bootstrap 3 и 4 .
Как с этим быть? ждать когда эти виджеты на 4 bootstrap переведут?
class ModalAjaxAsset extends AssetBundle
{
/**
* @inheritdoc
*/
public $depends = [
'yii\web\JqueryAsset',
'yii\bootstrap\BootstrapAsset',
];
.....
он находится в vendor . как сделать чтобы 'yii\bootstrap\BootstrapAsset' наследовал bootstrap4 (yii\bootstrap4\BootstrapAsset), чтобы не лесть в вендор. может как то в конфиге можно 'yii\bootstrap\BootstrapAsset' => yii\bootstrap4\BootstrapAsset - что то типа этого?
Может можно в конфиге как то прописать алиас namspace yii\bootstrap -> yii\bootstrap4 - возможно такое?
потому что у меня виджет который использует use yii\bootstrap\Modal; и этот виджет в вендоре и как заменить в нем yii\bootstrap\Modal на yii\bootstrap4\Modal чтобы вендор не править?
Помнится устанавливал себе yii2-modal-ajax и жил довольно долго и счастливо до тех пор пока не захотел формировать содержимое модалки динамически. И в случае если в этом содержимом был бутстрап, я ловил глюки и баги, которые в итоге не смог побороть (содержимое без бутстрапа работало нормально). Детали конечно уже не помню. В итоге плюнул на эту затею и вернулся к обычным страницам
class ModalAjaxAsset extends AssetBundle
{
/**
* @inheritdoc
*/
public $depends = [
'yii\web\JqueryAsset',
'yii\bootstrap\BootstrapAsset',
];
.....
он находится в vendor . как сделать чтобы 'yii\bootstrap\BootstrapAsset' наследовал bootstrap4 (yii\bootstrap4\BootstrapAsset), чтобы не лесть в вендор. может как то в конфиге можно 'yii\bootstrap\BootstrapAsset' => yii\bootstrap4\BootstrapAsset - что то типа этого?
Создай свой класс от вендора, переопредели ассет, потом пройдись ИДЕшкой по проекту и сделай замену неймспесов.
Только есть подозрение, что если виджет изначально под БС4 не заточен, то вряд ли он будет нормально работать.
masson писал(а): ↑2019.04.28, 08:56И в случае если в этом содержимом был бутстрап, я ловил глюки и баги, которые в итоге не смог побороть (содержимое без бутстрапа работало нормально). Детали конечно уже не помню. В итоге плюнул на эту затею и вернулся к обычным страницам