web-dev-qa-db-fra.com

Désactiver le cache Twig

J'ai fait Désactiver Drupal 8 mise en cache pendant le développement étape par étape (aussi enfin reconstruire le cache ) mais mes modifications dans les fichiers twig ne prennent pas effet sans reconstruire le cache.

sites/default/services.yml:

parameters:
    session.storage.options: { gc_probability: 1, gc_divisor: 100, gc_maxlifetime: 200000, cookie_lifetime: 2000000 }
    twig.config: { debug: true, auto_reload: true, cache: false }

sites/défaut/settings.php:

 if (file_exists(__DIR__ . '/settings.local.php')) {
   include __DIR__ . '/settings.local.php';
 }

sites/défaut/settings.local.php:

$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;

sites/development.services.yml:

services:
  cache.backend.null:
    class: Drupal\Core\Cache\NullBackendFactory
parameters:
  twig.config:
    debug: true
    auto_reload: true
    cache: false

Où est le problème?

6
Yusef

J'ai résolu mon problème en suivant les lignes dans settings.local.php.

# $settings['cache']['bins']['render'] = 'cache.backend.null';

dupliquez la ligne et activez-la (en supprimant # avant) et changez render en dynamic_page_cache Je veux dire que la ligne suivante a résolu votre problème

 $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';

dans Drupal >= 8.8 utilisation

  $settings['cache']['bins']['render'] = 'cache.backend.memory';
10
Yusef

Dans Drupal 8.8 l'ajout à sites/default/settings.local.php a fonctionné pour moi:

$settings['cache']['bins']['render'] = 'cache.backend.memory';

Pour certaines raisons, lorsque j'essaye de l'ajouter comme recommandé ('cache.backend .null'), j'ai l'erreur suivante

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "cache.backend.null". Did you mean one of these: "cache.backend.apcu", "cache.backend.memory", "cache.backend.php"?
2
MiSHuTka

Pour ceux qui ont du mal à configurer la mise en cache pour Drupal 8 - Copiez simplement le example.settings.local.php qui se trouve en dehors du dossier de fichiers dans le dossier de fichiers avec settings.local.php - uncomment $ settings ['cache'] ['bins'] ['dynamic_page_cache'] = 'cache.backend.null'; - Encore une fois, décommentez $ settings ['cache'] ['bins'] ['page'] = 'cache .backend.null ';

1
Abhilash Narayan