Template‑Wiederverwendung

1. Kernfunktion

Die Velocity‑Template‑Engine realisiert Wiederverwendung von Templates mit #include / #parse.
Wiederkehrende Seitenteile wie die Kopf‑Navigation _head.htm oder der Fußbereich mit Copyright‑Hinweis _footer.htm werden in separate Untertemplates ausgelagert und in Seiten eingebunden. Dadurch wird doppelter HTML‑Code vermieden.

2. Wesentliche Unterschiede

1. #include("Dateipfad")

Gibt den Dateiinhalt unverändert aus, ohne Velocity‑Variablen ($!{xxx}) im Untertemplate auszuwerten

  • $!{testinclude} im Untertemplate wird nicht gerendert, der Text $!{testinclude} wird wörtlich ausgegeben
  • Unterstützt das Einbinden mehrerer Dateien auf einmal: #include("a.htm","b.htm")
  • Geeignet für: statisches HTML ohne jegliche VTL‑Variablen

2. #parse("Dateipfad")

Lädt das Untertemplate und wertet die gesamte Velocity‑Syntax aus. Vom Elterntemplate übergebene Variablen funktionieren im Untertemplate.

  • $!{testinclude} im Untertemplate liest Kontext‑Variablen und ersetzt diese durch Werte aus dem Backend‑Code
  • Akzeptiert nur einen einzelnen Dateipfad; mehrere gleichzeitige Einbindungen sind nicht möglich
  • Geeignet für: gemeinsame Kopf‑ und Fußtemplates mit Variablen (Seitentitel, dynamische Copyright‑Texte usw.)

Auszug aus deinen Notizen:
#include fügt den Quelltext des Untertemplates unverändert ein ohne Auswertung, #parse führt die Syntaxauswertung durch

3. Praxisbeispiel

1. Backend‑Code (.cs)

context.Put("testinclude", "Text aus Untertemplate:");Code-Sprache: JavaScript (javascript)

2. Inhalt des Untertemplates _footer.htm

Copyright‑Hinweis $!{testinclude}
Fall ① mit #include("./themes/default/_footer.htm")

Seitenausgabe:

Copyright‑Hinweis $!{testinclude}

Die Variable wird nicht ausgewertet, der Platzhalter wird wörtlich angezeigt.

Fall ② mit #parse("./themes/default/_footer.htm")

Seitenausgabe:

Copyright‑Hinweis Text aus Untertemplate:

Die Variable wird korrekt aufgelöst. Deshalb wird in Projekten für gemeinsame Kopf‑ und Fußbereiche #parse bevorzugt verwendet.


4. Empfohlene Einsatzbereiche

AnweisungEinsatzfall
#includeStatische Ressourcen, Klartext, HTML‑Fragmente ohne Variablenauswertung
#parseGemeinsame Kopf‑, Fuß‑ und Seitenleisten; Templates mit $‑Variablen, #if und weiterer VTL‑Syntax

💡 Entwicklungsrichtlinie:
Verwende für gemeinsame Komponenten mit potenziell dynamischen Werten (Navigation, Copyright‑Bereich) durchgängig #parse. Für rein statische Text‑ und Stilfragmente nutze #include.

Template‑Wiederverwendung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert