Порядок загруженных активов не соответствует файлам активов - PullRequest
0 голосов
/ 02 мая 2019

Для использования функции всплывающей подсказки в bootstrap v3.4.1 с YII2.0.18 необходимо изменить порядок загруженных javascripts. Я не могу это исправить.

После обновления до YII2.0.18 порядок загруженных javascripts изменяется. Ранее скрипты были загружены в следующем порядке:

  • JQuery-ui.js
  • bridge.js
  • bootstrap.js

Теперь это выглядит следующим образом:

  • bootstrap.js
  • JQuery-ui.js
  • bridge.js

Из-за этого изменения скрипт bridge.js не может переписать имя функции всплывающей подсказки скрипта JqueryUI до загрузки bootstrap.js.

Я использую следующую команду в bridge.js:

$.widget.bridge('uitooltip', $.ui.tooltip);

Файл AppAsset:

class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/main.css',
        'https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css',
        'css/multi-select.css',
    ];
    public $js = [
        'js/main.js',
        'js/invoiceLines.js',
        'js/rememberTabs.js',
        'js/jquery.multi-select.js'
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'app\assets\BridgeAsset',
        'yii\bootstrap\BootstrapAsset',
        'yii\bootstrap\BootstrapPluginAsset',
    ];
}

И файл BridgeAsset

class BridgeAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';

    public $js = [
        'js/bridge.js'
    ];
    public $depends = [
        'yii\web\JqueryAsset',
        'yii\jui\JuiAsset',
    ];
}

Я не могу изменить порядок загруженных скриптов, если не экспериментировал с зависимостями в файлах ресурсов.

1 Ответ

0 голосов
/ 07 мая 2019

Наконец нашел ответ, в web.php я добавил следующее в assetManager:

'bundles' => [
                'yii\bootstrap\BootstrapAsset' => [
                    'depends' => [
                        'yii\jui\JuiAsset',
                    ],
                ],
            ],

Это делает JqueryUI зависимым от ресурсов начальной загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...