7.3. Desactivar la caché en Drupal. Mostrar información de depuración en la plantilla.
Antes de comenzar el desarrollo en Drupal 8, es necesario desactivar la caché. A diferencia de Drupal 7, en la versión 8 de Drupal no solo se almacenan en caché las entidades, vistas y campos, sino también las plantillas Twig compiladas y las plantillas de renderizado. Para desactivar toda esta caché, necesitas hacer lo siguiente.
1. Copia el archivo /sites/example.settings.local.php al archivo /sites/default/settings.local.php
Este archivo ya contiene las configuraciones necesarias para desactivar la caché
2. En el archivo settings.php, descomenta las siguientes líneas para incluir el archivo settings.local.php que creamos:
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
Esto activará settings.local.php.
3. Verifica que esta línea esté descomentada en settings.local.php:
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
El archivo development.services.yml ya está creado, solo necesitamos activarlo.
4. También debes asegurarte de que la agregación de CSS y Javascript esté desactivada en settings.local.php:
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
5. También es necesario desactivar la caché del HTML renderizado y la caché del módulo Dynamic Pages:
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
Busca estas líneas en settings.local.php y descoméntalas.
6. Para que Drupal no ejecute tests de los módulos, debes cambiar el valor de esta configuración a FALSE:
$settings['extension_discovery_scan_tests'] = FALSE;
7. Ahora, en /sites/development.services.yml debes agregar el siguiente bloque:
parameters:
twig.config:
debug: true
auto_reload: true
cache: false
Como resultado, development.services.yml se verá así:
# Local development services.
#
# To activate this feature, follow the instructions at the top of the
# 'example.settings.local.php' file, which sits next to this file.
services:
cache.backend.null:
class: Drupal\Core\Cache\NullBackendFactory
parameters:
http.response.debug_cacheability_headers: true
twig.config:
debug: true
auto_reload: true
cache: false
Es muy importante respetar los saltos de línea y sangrías en los archivos yml, utiliza solo 2 espacios y no uses tabulaciones.
debug: true
Esta línea es responsable de mostrar en pantalla los posibles nombres de plantillas que se pueden sobrescribir. A veces esto puede romper el diseño o causar errores en algunos módulos, aunque ocurre muy raramente. En el core, es una funcionalidad muy útil para estudiar la estructura de plantillas en Drupal 8.
8. Después de esto, necesitas limpiar la caché, lo cual se puede hacer con drush:
drush cr
O ejecutando el script en el sitio:
http://tusitio/core/rebuild.php