Articles

Um herauszufinden, welches Template das Markup für ein bestimmtes Element erzeugt, können Sie die eingebaute Twig-Option debug verwenden. Diese Option zeigt HTML-Kommentare zusammen mit der ausgegebenen Ausgabe an, die die verwendeten Theme-Hooks, vorgeschlagene Template-Dateinamen sowie die genaue Twig-Datei, die zur Darstellung eines bestimmten Abschnitts Ihres Markups verwendet wird, enthält.


Filter in Twig können verwendet werden, um Variablen zu verändern. Filter werden mit einem Pipe-Symbol von der Variablen getrennt. Sie können optionale Argumente in Klammern haben. Mehrere Filter können aneinandergereiht werden. Die Ausgabe eines Filters wird auf den nächsten angewendet.
Beispiel:
{{ content|safe_join(", ")|lower }}
Es kann nötig sein, ein Element vor der Filterung zu rendern:


Twig bietet eine Reihe praktischer Funktionen, die direkt in Templates verwendet werden können.
Der Drupal-Kern fügt einige benutzerdefinierte, Drupal-spezifische Funktionen hinzu. Diese sind in der TwigExtension-Klasse definiert.


Aus der offiziellen Twig-Dokumentation: „Makros sind vergleichbar mit Funktionen in gewöhnlichen Programmiersprachen. Sie sind nützlich, um häufig verwendete HTML-Idiome in wiederverwendbaren Elementen unterzubringen, damit man sich nicht wiederholt.“


Um Drupal 8 thematisch so performant wie möglich zu gestalten und mehr Anpassungsmöglichkeiten in Twig-Templates zu bieten, folgen Sie den folgenden Empfehlungen:


Die allgemeine Idee in Drupal 8 ist, dass Sie vermeiden möchten, HTML direkt im PHP-Code Ihres benutzerdefinierten Moduls zu erstellen. Stattdessen soll dies in Twig-Templates ausgelagert werden. Um neue Twig-Templates in Ihrem Modul zu erstellen, führen Sie die folgenden Schritte aus.


Twig-Templates können mit dem folgenden Syntax erweitert werden –
{% extends 'html.twig' %}
Weitere Informationen finden Sie unter https://symfony.com/doc/current/templates.html#template-inheritance-and-layouts


Subthemes unterscheiden sich von anderen Themes nur dadurch, dass sie die Ressourcen des Basisthemas erben. Es gibt keine Einschränkungen hinsichtlich der Kettenbildung, die Subthemes mit ihren Eltern verbinden. Ein Subtheme kann ein Kind eines anderen Subthemes sein und es kann verzweigt und organisiert werden, wie Sie es für richtig halten.




Dokumentieren Sie alle CSS-Klassen-Selektoren, die im Classy-Theme von Drupal 8 RC 2 enthalten sind.
Format:
.foo { }
.foo-bar { }
Dateiname.html.twig / Dateiname.css
