Drupal 8 met en cache automatiquement toutes les entités rendues (noeuds, utilisateurs, blocs...). Cela permet d'améliorer considérablement les performances générales, mais peut s'avérer également gênant en phase de développement, particulièrement lorsque l'on travaille au niveau du thème.

Plutôt que de vider le cache manuellement via l'interface ou en utilisant Drush, il est possible de désactiver le cache de rendu via les fichiers locaux (non destinés à la production).

1) Créer un fichier local de services

Copier le fichier /sites/development.services.yml dans le répertoire /sites/default/. Renommer le fichier créé services.local.yml. Ce fichier déclare le service de cache "null". Il sera par la suite automatiquement chargé.

2) Créer un fichier local de settings

Copier le fichier /sites/exemple.settings.local.php dans le répertoire /sites/default/. Renommer le fichier créé settings.local.php.

Editer ce dernier en adaptant la ligne 39 comme suit :

services.local_.yml

3) Modifier le fichier de settings

Editer le fichier /sites/default/settings.php et décommenter les lignes 712 à 714 :

settings.php

4) Vider le cache

Vider le cache de Drupal afin d'enregistrer le nouveau service déclaré.

5) Modifier le fichier de settings local

Décommenter la ligne 67 :

services.local_.yml

Rafraichissez n'importe quelle page de votre site. Et voila !

Que s'est-il passé ? Le fichier de settings chargé par défaut (/sites/default/settings.php) inclus maintenant notre fichier de configuration local (/sites/default/settings.local.php). Ce dernier ajoute le service cache.backend.null et le charge. C'est ce service qui se substitue à celui par défaut, annulant la mise en cache du HTML.

Dans la même catégorie

CMS Drupal

Drupal : LE CMS pour les professionnels ?


Drupal et les structures de données

Que reste-t-il à Drupal ?


Drupal et les structures de données

Drupal et les structures de données