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
19/06/2025, by Ivan

Menu

Twig bietet eine Reihe praktischer Funktionen, die direkt in Templates verwendet werden können.

Liste der Twig-Funktionen

Der Drupal-Kern fügt einige benutzerdefinierte, Drupal-spezifische Funktionen hinzu. Diese sind in der TwigExtension-Klasse definiert.

Sie können auch eigene Twig-Funktionen in einem benutzerdefinierten Modul (aber nicht im Theme) definieren. Ein Beispiel, wie das gemacht wird, finden Sie in der Datei core/modules/system/tests/modules/twig_extension_test/src/TwigExtension/TestExtension.php.

attach_library($library)

Bindet eine Asset-Bibliothek an das Template an.

{{ attach_library('classy/node') }}

create_attribute($attributes)

Erstellen Sie neue Attribute-Objekte mit der Funktion create_attribute() innerhalb eines Twig-Templates. Diese Objekte können genauso manipuliert werden wie andere Attribute-Objekte, die im Twig-Template verfügbar sind.

Siehe Änderungseintrag: https://www.drupal.org/node/2818293

{% set my_attribute = create_attribute() %}
{%
  set my_classes = [
    'kittens',
    'llamas',
    'puppies',
  ]
%}
<div{{ my_attribute.addClass(my_classes).addAttribute('id', 'myUniqueId') }}>
  {{ content }}
</div>
<div{{ create_attribute({'class': ['region', 'region--header']}) }}>
  {{ content }}
</div>

file_url($uri)

Diese Hilfsfunktion nimmt einen Dateipfad (URI) und erzeugt daraus einen relativen URL-Pfad zur Datei.

{{ file_url(node.field_example_image.entity.uri.value) }}

link($text, $uri, $attributes)

Diese Hilfsfunktion nimmt als ersten Parameter text und als zweiten Parameter uri.

Beispiele:

{{ link(item.title, item.uri, { 'class':['foo', 'bar', 'baz']} ) }}

path($name, $parameters, $options)

Erzeugt einen [relativen] URL-Pfad anhand des Routennamens und der Parameter.

{# Link zur Frontpage-View. #}
<a href="{{ path('view.frontpage.page_1') }}">{{ 'Alle Inhalte anzeigen'|t }}</a>

{# Link zur Benutzer-Entity/Profile-Seite. #}
<a href="{{ path('entity.user.canonical', {'user': user.id}) }}">{{ 'Benutzerprofil anzeigen'|t }}</a>

{# Link zur Node-Seite. #}
<a href="{{ path('entity.node.canonical', {'node': node.id}) }}">{{ 'Node-Seite anzeigen'|t }}</a>

Die Funktionen url und path sind eng verwandt mit denen aus \Symfony\Bridge\Twig\Extension\RoutingExtension.

url($name, $parameters, $options)

Erstellt eine absolute URL basierend auf dem Routennamen und den Parametern:

<a href="{{ url('view.frontpage.page_1') }}">{{ 'Alle Inhalte anzeigen'|t }}</a>

Erstellt eine absolute URL für die aktuelle URL:

<a href="{{ url('<current>') }}">{{ 'Neu laden'|t }}</a>

Erstellt eine absolute URL zur Startseite:

<a href="{{ url('<front>') }}">{{ 'Startseite'|t }}</a>

 

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.