Поскольку DotPlant2 построена на базе Yii Framework 2 - мы стараемся придерживаться всех стандартов и паттернов разработки, которые задает этот фреймворк.
Именно поэтому мы не будем размещать ссылки на наши стили и скрипты непосредственно в HTML-коде шаблонов. Для этих вещей придуманы AssetBundle(или комплекты ресурсов). Подробнее о них вы можете прочесть в официальном руководстве по Yii2.
Если вы создавали тему с помощью ./yii admin/create-theme
, то у вас уже есть готовый файл для комплекта ресурсов - web/theme/module/assets/ThemeAsset.php
.
Поскольку тема - это модуль, там также применяются пространства имён.
Например для файла ThemeAsset пространство имён будет
app\web\theme\module\assets
Если вы создавали тему через консольную команду ./yii admin/create-theme
, то для вас уже настроены сценарии gulp для комфортной работы.
Установить gulp очень просто:
npm install --global gulp
Gulp компилирует необходимые ресурсы в папку dist/
. Именно на эту папку настроен по-умолчанию ThemeAsset
.
Изначально структура исходных файлов для gulp такова:
images
- исходные файлы изображений сайта. В дальнейшем они будут сжиматься средствами gulp в папку dist/images
.sass
- исходные файлы SASS. Они компилируются средствами gulp в соответствующие css файлы в папку dist/styles
. На старте присутствует файл main.scss
, который подуключается в ThemeAsset как styles/main.css
.js
- исходные javascript файлы, которые компилируются средствами gulp в папку dist/scripts
.Для css и js файлов автоматически будут создаваться минифицированные версии, например dist/styles/main.min.css
.
При первом запуске после генерации темы необходимо запустить из папки темы gulp
.
В дальнейшем при работе рекомендуется использовать gulp watch
.
Эта команда запускает особый режим работы gulp, при котором все изменения в scss, js и картинках автоматически фиксируются, а в браузере происходит обновление средствами livereload, если выставлен YII_DEBUG.