logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

7.3. Cache in Drupal deaktivieren. Debug-Informationen im Template ausgeben.

27/05/2025, by Ivan

Bevor Sie mit der Entwicklung unter Drupal 8 beginnen, müssen Sie den Cache deaktivieren. Im Gegensatz zu Drupal 7 werden in der 8. Version von Drupal nicht nur Entitäten, Views und Felder zwischengespeichert, sondern jetzt auch kompilierte Twig- und Render-Templates. Um diesen gesamten Cache zu deaktivieren, müssen Sie Folgendes tun.

1. Kopieren Sie die Datei /sites/example.settings.local.php in die Datei /sites/default/settings.local.php

Diese Datei enthält bereits die notwendigen Einstellungen, um den Cache zu deaktivieren.

Einstellungen

2. Kommentieren Sie in der settings.php-Datei die folgenden Zeilen aus, damit die von uns erstellte settings.local.php eingebunden wird:

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

Dadurch wird settings.local.php aktiviert.

3. Überprüfen Sie, dass diese Zeile in settings.local.php nicht auskommentiert ist:

$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';

Die Datei development.services.yml ist bereits erstellt, wir müssen sie nur einbinden.

4. Prüfen Sie ebenfalls, dass die Aggregation von CSS und Javascript in settings.local.php deaktiviert ist:

$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;

5. Deaktivieren Sie auch das Caching des gerenderten HTML sowie den Cache des Moduls Dynamic Page:

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

Suchen Sie diese Zeilen in settings.local.php und kommentieren Sie sie aus.

6. Damit Drupal keine Tests von Modulen lädt, ändern Sie den Wert dieser Einstellung auf FALSE:

$settings['extension_discovery_scan_tests'] = FALSE;

7. Fügen Sie in der Datei /sites/development.services.yml folgenden Abschnitt hinzu:

parameters:
  twig.config:
    debug: true
    auto_reload: true
    cache: false

Die Datei development.services.yml sollte dann so aussehen:

# 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 ist sehr wichtig, Zeilenumbrüche und Einrückungen in YML-Dateien zu beachten, verwenden Sie nur 2 Leerzeichen und keine Tabs als Einrückungen.

debug: true

Diese Zeile sorgt dafür, dass mögliche Namen zum Überschreiben jeder verwendeten Template-Datei auf der Seite ausgegeben werden. Manchmal kann dies das Layout beeinträchtigen oder in einigen Modulen Fehler verursachen, was aber sehr selten vorkommt. Im Core ist das eine sehr praktische Funktion, um die Struktur der Templates in Drupal 8 zu studieren.

8. Danach müssen Sie den Cache leeren, das können Sie mit Drush machen:

drush cr

Oder indem Sie das Skript auf der Seite ausführen:

http://your-site/core/rebuild.php