По умолчанию, в Drupal 8 включено кэширование Twig шаблонов. Это создает определенные трудности при разработке тем: каждое изменение требует сбрасывания кэша, что рано или поздно приводит разработчиков в бешенство)
Конечно же, о нас уже позаботились и придумали механизмы упрощения разработки.
Мат в три хода
Для того, чтобы выключить кэш нужно:
Поместить следующие настройки в sites/development.services.yml
parameters: twig.config: debug: true auto_reload: true cache: false
Подключить файл development.services.yml в settings.local.php (найдите и раскомментируйте строку)
Файл settings.local.php можно скопировать из sites/example.settings.local.php в sites/default/settings.local.php или другую папку на которую настроен ваш сайт. Главное, чтобы он лежал рядом с актуальным файлом settings.php.
<?php $settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
Файл settings.local.php, в свою очередь, нужно подключить в файле settings.php (найти и раскомментировать строки)
<?php if (file_exists(__DIR__ . '/settings.local.php')) { include __DIR__ . '/settings.local.php'; }
Сбрасываем кэш и радуемся. Вопросы и предложения пишите в комментариях.
Постскриптум
В файле settings.local.php можно найти много интересного. Например, так можно принудительно выключить агрегацию файлов css и js:
<?php
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
Также можно выключить некоторые виды кэширования, установить уровень ошибок, для отображения и другое.
Upd.
Если стоит Drupal console, то все вышесказанное можно выполнить командой
drupal site:mode dev