DotPlant2 documentation

Работа с ресурсами и AssetBundle

Поскольку 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.