bootstrap4 и widget с 3 bootstrap

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

bootstrap4 и widget с 3 bootstrap

Сообщение webplus »

Здравствуйте!
Есть проект, который использует 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 переведут?
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: bootstrap4 и widget с 3 bootstrap

Сообщение kawabanga »

отключайте принудительно b3 и приводите к нормальному виду.
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: bootstrap4 и widget с 3 bootstrap

Сообщение webplus »

kawabanga писал(а): 2019.04.27, 19:04 отключайте принудительно b3 и приводите к нормальному виду.
виджет loveorigami/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 - что то типа этого?
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: bootstrap4 и widget с 3 bootstrap

Сообщение webplus »

kawabanga писал(а): 2019.04.27, 19:04 отключайте принудительно b3 и приводите к нормальному виду.
вот так сделал:

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

        'assetManager' => [
            'appendTimestamp' => true,
            'bundles' => [
                'yii\bootstrap\BootstrapAsset' => [
                    'class' => 'yii\bootstrap4\BootstrapAsset'
                ],
                'yii\bootstrap\BootstrapPluginAsset' => [
                    'class' => 'yii\bootstrap4\BootstrapPluginAsset'
                ]
            ],
        ],
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: bootstrap4 и widget с 3 bootstrap

Сообщение webplus »

kawabanga писал(а): 2019.04.27, 19:04 отключайте принудительно b3 и приводите к нормальному виду.
Можно ли сделать чтобы все виджеты имели алиас на bootstrap4
например:

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

use yii\bootstrap\Modal;
чтобы вызывало use yii\bootstrap4\Modal;

Может можно в конфиге как то прописать алиас namspace yii\bootstrap -> yii\bootstrap4 - возможно такое?
потому что у меня виджет который использует use yii\bootstrap\Modal; и этот виджет в вендоре и как заменить в нем yii\bootstrap\Modal на yii\bootstrap4\Modal чтобы вендор не править?
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: bootstrap4 и widget с 3 bootstrap

Сообщение masson »

Помнится устанавливал себе yii2-modal-ajax и жил довольно долго и счастливо до тех пор пока не захотел формировать содержимое модалки динамически. И в случае если в этом содержимом был бутстрап, я ловил глюки и баги, которые в итоге не смог побороть (содержимое без бутстрапа работало нормально). Детали конечно уже не помню. В итоге плюнул на эту затею и вернулся к обычным страницам
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: bootstrap4 и widget с 3 bootstrap

Сообщение masson »

webplus писал(а): 2019.04.27, 19:14
kawabanga писал(а): 2019.04.27, 19:04 отключайте принудительно b3 и приводите к нормальному виду.
виджет loveorigami/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 не заточен, то вряд ли он будет нормально работать.
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: bootstrap4 и widget с 3 bootstrap

Сообщение webplus »

masson писал(а): 2019.04.28, 08:56И в случае если в этом содержимом был бутстрап, я ловил глюки и баги, которые в итоге не смог побороть (содержимое без бутстрапа работало нормально). Детали конечно уже не помню. В итоге плюнул на эту затею и вернулся к обычным страницам
Надо использовать было renderAjax

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

return $this->renderAjax('create', ['model' => $model]);
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
Ответить