Изменить порядок загрузки JQuery/JS библиотек в Yii

posted by wolq on September 8, 2013

Я на сайте решил обновить jQuery до последней версии 1.9.1. В результате этих манипуляций получил ошибку:

TypeError: f is undefined
http://wolq.net/assets/6b1c13a6/jquery.ba-bbq.min.js(строка 18)

Посмотрел исходный код и понял, что библиотека данная устарела и больше не обновляется. Последняя поддерживаемая версия jQuery 1.8.3.

В итоге выполнил поиск по всему проекту на подключение jQuery BBQ и нашёл следующий интересный файлик. yii/framework/web/js/packages.php, а в нём список всех подключаемых js библиотек и их зависимостей.

В своём конфигурационном файле прописал следующий код и всё заработало:

'clientScript' => array(
    'packages'=>array(
        'jquery'=>array(
            'baseUrl'=>'http://ajax.googleapis.com/ajax/libs/jquery/',
            'js'=>array('1.9.1/jquery.min.js'),
        ),
        'jquery-migrate'=>array(
            'baseUrl'=>'http://code.jquery.com/',
            'js'=>array('jquery-migrate-1.2.1.min.js'),
            'depends' => array('jquery'),
        ),
        //Ставим зависимость от jquery-migrate, чтобы библиотека грузилась после всех зависимостей
        'bbq'=>array(
            'js'=>array(YII_DEBUG ? 'jquery.ba-bbq.js' : 'jquery.ba-bbq.min.js'),
            'depends'=>array('jquery','jquery-migrate'),
        ),
    ),
),

Разместить комментарий

Поля с * обязательны