Yii2 Assets. Часть 2

Yii2 Assets

От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой статье мы познакомимся с темой Yii2 Assets или, иными словами, подключением ресурсов из папки web: в первую очередь — это файлы JS и CSS.

В прошлой статье мы с вами познакомились с понятием ресурс и комплект ресурсов в Yii. Говоря простыми словами, комплект ресурсов (Assets) — это ни что иное, как набор подключаемых файлов, в первую очередь скриптов и стилей (css и js).

Подключить свой комплект ресурсов просто, достаточно открыть класс AppAsset и в свойствах $js и $css перечислить в формате массива подключаемые файлы. Сами файлы JS и CSS необходимо поместить в публичную папку web. В этом случае подключаемые файлы будут сразу же доступны.

В данной статье мы продолжим начатую тему и узнаем, как указать в шаблоне, какой именно комплект ресурсов необходимо подключить (комплектов может быть несколько) и как подключить ресурсы, которые находятся вне публичной папки.

Начнем с первого вопроса. Подключить нужный комплект ресурсов можно вызвав метод register. Именно подключение AppAsset и можно найти в шаблоне \views\layouts\main.php:

Yii2 Assets

Соответственно, если вам необходимо зарегистрировать другой комплект ресурсов из папки assets — укажите именно его. Все просто.

Ну а теперь второй вопрос: как использовать пакет ресурсов, который находится не в папке web, т.е. в папке, которая не видна из вне? Это может потребоваться в том случае, когда вы, к примеру, создаете модуль админки, для которой будут использованы свои файлы стилей и скриптов. В принципе, все ресурсы в этом случае можно поместить в папку web, но все же вы вполне можете захотеть поместить их в папку модуля.

Чтобы решить проблему, нам потребуется вместо свойств $basePath и $baseUrl воспользоваться свойством $sourcePath. Значением этого свойства мы и укажем папку с ресурсами. Для примера давайте создадим файл admin.js в следующей структуре каталогов: \modules\admin\web\js\admin.js

Yii2 Assets

Теперь определим новый комплект ресурсов AdminAsset:

Yii2 Assets

Обратите еще раз внимание, мы вместо свойств $basePath и $baseUrl использовали свойство $sourcePath, в котором указали путь (path) к папке с необходимыми ресурсами для админки. Далее в шаблоне регистрируем искомый комплект ресурсов:

После чего мы должны увидеть результат работы нового скрипта:

Yii2 Assets

Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии (1)