Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Die Template-Sprache lernen

Ein Lernplan für die Template-Sprache von Exponential (eZ TPL) - was sie ist, ein erstes Template zum Abtippen, die fünf Konstrukte, die Sie zuerst lernen, eine Lesereihenfolge durch die Seiten zur Template-Sprache und…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/students/learning-the-template-language.md

On this page

This page is a translation. Read the English original

Die Template-Sprache lernen

Exponential gibt jede Seite, jede E-Mail und jedes PDF mit seiner eigenen Template-Sprache aus, bekannt als eZ TPL: Tags in geschweiften Klammern wie bei Smarty, mit Operatoren und Funktionen für Inhaltsobjekte, einer Fetch-API zum Lesen von Daten, einem Override-System zur Auswahl von Templates und einem Compiler, der Templates in PHP übersetzt (Die Template-Sprache). Designer und Entwickler brauchen sie gleichermaßen. Diese Seite gibt Ihnen einen Lernplan.

Inhalt

  1. Die fünf Konstrukte, die Sie zuerst lernen
  2. Ihr erstes Template
  3. Eine Lesereihenfolge
  4. Übungen
  5. Fehler, die Lernende machen
  6. Wenn Sie Smarty kennen

Die fünf Konstrukte, die Sie zuerst lernen

KonstruktBeispielBedeutung
Ausgabe mit Maskierung{$node.name|wash}Einen Wert ausgeben; wash maskiert HTML. Verwenden Sie es für alles, was ein Benutzer eingegeben hat
Variablen{def $items = ...}, {set $items = ...}, {undef $items}Einmal deklarieren, später ändern, freigeben
Datenfetch( 'content', 'list', hash( 'parent_node_id', $node.node_id, 'limit', 5 ) )Inhalte lesen; hash baut benannte Werte
Schleifen und Bedingungen{foreach $items as $child}...{/foreach}, {if $node.depth|gt( 2 )}...{/if}Operatoren werden als Pipes geschrieben: gt, lt, eq, and, or, not
Inhalte anzeigen{attribute_view_gui attribute=$node.data_map.title}, {node_view_gui content_node=$child view='line'}Jedes Attribut und jeden Knoten sein eigenes Template verwenden lassen

Quelle: Templates und Design, Teil 6. Kommentare schreibt man {* ... *}. Links verwenden ezurl, in einem Attribut ohne Anführungszeichen geschrieben: <a href={$child.url_alias|ezurl}>.

Ihr erstes Template

Die Anleitung zu Templates nennt ein kleines Template zum Ausprobieren in einem Override (es listet die Unterknoten des übergeordneten Knotens des aktuellen Elements auf, höchstens zehn):

<h1>{$node.name|wash}</h1>
{def $siblings = fetch( 'content', 'list', hash( 'parent_node_id', $node.parent_node_id, 'limit', 10 ) )}
<ul>
{foreach $siblings as $sibling}
    <li><a href={$sibling.url_alias|ezurl}>{$sibling.name|wash}</a></li>
{/foreach}
</ul>
{undef $siblings}

Erwartet: die Überschrift, gefolgt von einer Liste von Links. Setzen Sie es in das Override aus Projekt 3 und erklären Sie dann jede Zeile in Ihrem Lerntagebuch.

Eine Lesereihenfolge

Beginnen Sie aufgabenorientiert und gehen Sie dann in die Tiefe:

  1. Überblick über Templates und Grundlagen der TPL-Syntax, die behutsame Einführung.
  2. Templates und Design, Teile 1 bis 6: wie ein Template gefunden wird, Overrides, Syntaxprüfungen.
  3. Was die Template-Sprache ist.
  4. Werte und Literale und Variablen im Detail.
  5. Referenz der Kontrollstrukturen.
  6. Das Objektmodell in Templates und Data Map und Inhalte.
  7. Fehler und Fehlersuche.
  8. Template-Ressourcen und Overrides und Template-Caches.
  9. Die Operator-Referenz nach Bedarf: Template-Operatoren.

Der Kurs Entwickler der Trainer hat ein ganzes Modul zur Sprache, Modul 2, mit Übungen und Quizzen.

Übungen

Kurze Übungen, jeweils auf Ihrer Lernwebsite, in einem Override, das Sie danach entfernen können:

  1. Geben Sie den Namen und die Knotennummer des aktuellen Elements aus.
  2. Listen Sie die ersten fünf Unterknoten des Elements mit Links auf. Zeigen Sie dann „Keine Elemente“ an, wenn es keine gibt.
  3. Zeigen Sie das Attribut title mit attribute_view_gui an, geben Sie dann $node.data_map.title.content aus und vergleichen Sie.
  4. Verwenden Sie {delimiter}, um in einer Schleife Kommas zwischen die Namen zu setzen.
  5. Bauen Sie absichtlich einen Fehler in ein Template ein (einen unbekannten Operator), prüfen Sie es mit php bin/php/eztemplatecheck.php und lesen Sie dann, was die Engine protokolliert (Fehler und Fehlersuche).

Fehler, die Lernende machen

FehlerErgebnisLösung
wash vergessenText mit < oder Anführungszeichen kann die Seite zerstören oder eine Sicherheitslücke öffnen|wash auf jedem Wert aus Inhalten oder von Besuchern
Dieselbe Variable zweimal mit {def}Eine WarnungEinmal {def}, danach {set}
design/standard/templates/ bearbeitenBeim nächsten Upgrade verlorenEin Override in Ihrem eigenen Design
Arithmetik wie $a + 1 erwartenFunktioniert nichtOperatoren wie sum; siehe die Unterschiede zu Smarty
Ein neuer Template-Pfad, ohne Caches zu leerenDas alte Template wird verwendetEinmal den Override- und den Template-Cache leeren

Wenn Sie Smarty kennen

Lesen Sie Smarty und die Template-Sprache im Vergleich und die Unterschiede im Detail: keine Infix-Arithmetik und keine Infix-Vergleiche, kein PHP in Templates, keine automatische Maskierung und Overrides statt Vererbung.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x