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