
Erweiterte Drupal-Vorlagen. Überprüfung des Twig Tweak Moduls
Bei der Verwendung jeglicher Art von Lösung stoßen wir normalerweise auf die Notwendigkeit, generische Unterstützungsfunktionen zu erstellen. Eine ähnliche Situation tritt auf, wenn Sie mit Vorlagen in Drupal 9 arbeiten. Wenn Sie jemals benutzerdefinierten Code erstellt haben, um einen Block, eine Ansicht oder Entitäten in einer Drupal 9-Vorlage anzuzeigen, und an einer fertigen und getesteten Lösung interessiert sind, ist dieser Artikel für Sie. Wir stellen Ihnen das Twig Tweak-Modul vor, das eine Reihe von Unterstützungsfunktionen bietet.
Twig und Drupal
Twig ist eine Template-Engine für PHP, veröffentlicht im Jahr 2009. Es wird ständig weiterentwickelt. Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste Version 3.4.1. Twig ist ein integraler Bestandteil des Symfony-Frameworks und somit auch von Drupal 9. Drupal implementiert auf seine Weise bestimmte Konzepte, wie zum Beispiel Entitäten, Blöcke und Ansichten. Um das endgültige HTML aus den sogenannten Render-Arrays zu erstellen, verwendet Drupal interne Klassen, die für diesen Zweck entwickelt wurden. Twig weiß jedoch standardmäßig nicht, wie diese funktionieren. Aus diesem Grund ist es von Natur aus unmöglich, zum Beispiel einen Block oder eine Ansicht mit beliebigen Parametern an einem beliebigen Ort einfach nur mit der Twig-Engine zu rendern. Um eine solche Operation zu ermöglichen, hat die Drupal-Community das Twig Tweak-Modul entwickelt, das eine umfangreiche Liste von Twig-Erweiterungen einführt, die die häufigsten, drupalspezifischen Probleme adressieren.
Twig Tweak-Modul
Das Modul wurde am 3. Januar 2016 veröffentlicht und das letzte Update erfolgte am 15. April 2022. Twig Tweak hat eine ältere Version, die mit Drupal 8 und 9 kompatibel ist, und eine neuere, die Drupal 9 erfordert. Aus offensichtlichen Gründen (Verwendung von Symfony ab Version 8) gibt es keine Version für Drupal 7.
Das Twig Tweak-Modul bietet eine Sammlung von Erweiterungen für Twig, die es beispielsweise ermöglichen, Ansichten, Blöcke, Regionen, Entitäten, Felder, Menüs, Formulare, Tokens und mehr zu rendern. Die vollständige Liste der Möglichkeiten finden Sie im Twig Tweak Cheat Sheet, das von den Autoren vorbereitet wurde.
Twig Tweak wird derzeit von über 100.000 Webseiten genutzt. Die neueste 3.x-Version gewinnt an Beliebtheit gegenüber der älteren 2.x-Version, die leichte, aber kontinuierliche Rückgänge verzeichnet.

Quelle: Drupal.org
Der Ersteller und Hauptverantwortliche für die Pflege des Moduls ist der Benutzer Chi. Aufgrund der Beliebtheit des Moduls ist die vollständige Liste der Personen, die zu seiner Entwicklung beigetragen haben, zu umfangreich, um sie hier aufzuführen.
Installation
Die Installation des Twig Tweak-Moduls ist Standard.
composer require drupal/twig_tweak
drush pm:enable twig_tweak
Das Modul weist keine anderen Abhängigkeiten als den Drupal-Kern auf und bietet auch keine benutzerdefinierten Berechtigungen.
Es gibt eine Konfigurationsoption - twig_tweak_enable_php_filter - die in der settings.php-Datei festgelegt wird. Sie ist auf TRUE / FALSE gesetzt und standardmäßig auf FALSE eingestellt. Wenn Sie diese Option aktivieren, können Sie reines PHP in Twig verwenden. Die Option ist standardmäßig deaktiviert, möglicherweise aus Sicherheitsgründen.
Wie man Twig Tweak verwendet
Nach der Installation des Moduls erhalten Sie Zugriff auf die folgenden Funktionen:
drupal_view
Rendert die angegebene Ansicht. Beispiel:
{{ drupal_view(‘view_id’, 'view_display_id’) }}
drupal_view_result
Rendert nur das Ergebnis der angegebenen Ansicht. Beispiel:
{{ drupal_view_result(‘view_id’, 'view_display_id’) }}
drupal_block
Rendert den angegebenen Block. Beispiel:
{# Block mit Standardkonfiguration. #}
{{ drupal_block('block_id') }}
{# Block mit benutzerdefinierter Konfiguration. #}
{{ drupal_block('block_id', {config_id: 'foo', another_config_id: false}) }}
{# Block ohne block.html.twig-Theming. #}
{{ drupal_block('block_id', wrapper=false) }}
drupal_region
Rendert die angegebene Region. Beispiel:
{# Foo-Region des Standardthemas. #}
{{ drupal_region(‘foo’) }}
{# Foo-Region des Bartik-Themas. #}
{{ drupal_region('foo', 'bartik') }}
Andere Funktionen in Twig Tweak
Werfen wir einen Blick auf andere Optionen, die in diesem Modul verfügbar sind:
drupal_entity - rendert Entitäten,
drupal_entity_form - rendert Entitätsformulare,
drupal_field - rendert Feld,
drupal_menu - rendert Menü,
drupal_form - rendert Formular,
drupal_image - rendert Bild,
drupal_token - ersetzt Token,
drupal_config - rendert Konfigurationen,
drupal_dump / dd - rendert eine lesbare Version des Variableninhalts (hilfreich zum Debuggen),
drupal_title - rendert den Titel der aktuellen Seite,
drupal_url - rendert URL,
drupal_link - rendert Link,
drupal_messages - rendert Statusmeldungen,
drupal_breadcrumb - rendert Breadcrumbs,
drupal_breakpoint - löst den Breakpoint von Xdebug aus,
drupal_contextual_links - rendert kontextbezogene Links.
Filter im Twig Tweak-Modul
Nun werfen wir einen Blick auf die im Tool verfügbaren Filter:
token_replace - ersetzt Token,
preg_replace - ermöglicht die Verwendung der preg_replace-Funktion in Twig,
image_style - wendet den angegebenen Bildstil an,
transliterate - transliteriert Text von Unicode zu US-ASCII,
check_markup - filtert Text basierend auf dem im System angegebenen Textstil,
format_size - formatiert die angegebene Byte-Anzahl in eine Zeichenrepräsentation mit einem Mehrfachsuffix,
truncate - begrenzt den angegebenen Text auf die gewählte Anzahl von Zeichen,
view - gibt das Render-Array für die gegebene Entität oder das Feld zurück,
with - funktioniert entgegengesetzt zum without-Filter des Kerns,
children - wird in Mehrfachauswahlfeldern verwendet, um eine Liste von Elementen zu erhalten,
file_uri - gibt die URI einer bestimmten Mediendatei zurück,
file_url - ermöglicht die Verwendung der file_url-Funktion in Twig,
translation - gibt die Übersetzung einer gegebenen Entität zurück,
cache_metadata - fügt Cache-Metadaten zum gedruckten Feld hinzu,
php - führt den angegebenen Zeichenfolgen als PHP-Code aus.
Eine detaillierte Beschreibung der Filter zusammen mit Anwendungsbeispielen finden Sie im oben verlinkten Twig Tweak Cheat Sheet.
Twig Tweak-Modul - Zusammenfassung
Das Twig Tweak-Modul spart Zeit und eröffnet Entwicklern neue Möglichkeiten. Die bereitgestellten Filter und Funktionen sind im täglichen Umgang mit Twig nützlich. Das Modul ist sehr beliebt, gut unterstützt und wird von der Community gerne empfohlen. Als Team von Drupal-Entwicklern empfehlen wir, das Twig Tweak-Modul zu installieren und die gebotenen Möglichkeiten auszuprobieren.