Anpassung von Tpl-Dateien

Manchmal ist es notwendig, Tpl-Dateien anzupassen, um das xHTML-Ausgabedokument den Wünschen gerecht zu gestalten.

Wichtig:
Eigene Änderungen an Tpl-Dateien müssen nach einem Template-Update manuell nachgezogen werden. Wir empfehlen daher, individuelle Templateanpassungen via Plugin (siehe Templateanpassung via Plugin) und/oder CSS (siehe Individuelle Theme Anpassung zu realisieren.

Trennung von Original-Templatedateien und modifizierten Dateien

In JTL-Shop3 können Sie Ihre modifizierten TPL-Dateien von den Original-Dateien trennen. Die Trennung von Originaldateien und modifizierten Dateien bringt den Vorteil, dass Sie Änderungen nach einem Shop bzw Template-Update effizienter nachziehen können. Sie können z.B. mit einem Diff-Programm wie z.B. Winmerge beide Dateien vergleichen und sehen auf einen Blick, ob und welche Änderungen gemacht wurden.
Legen Sie einfach eine Kopie der zu ändernden Orgininal Tpl-Datei im gleichen Verzeichnis an und benennen Sie die Kopie folgendermaßen: <Dateiname>_custom.tpl

Ab JTL-Shop3.12 können Sie per Admin-Einstellung festlegen, ob das Laden von benutzerdefinierten (_custom.tpl) Template-Dateien Priorität hat.
Sie finden die Einstellung im Admin-Backend unter Darstellung -> Template -> Einstellungen -> "Benutzerdefinierte Template-Dateien verwenden?".

Beispiel einer benutzerdefinierten Template-Datei:
Wenn Sie die Datei footer.tpl ändern möchten, so legen Sie eine Kopie der Datei mit dem Namen footer_custom.tpl an. JTL-Shop3 merkt automatisch, dass eine Custom-Tpl Datei vorhanden ist und lädt diese anstelle der Original Template-Datei.

WICHTIG: Bitte denken Sie daran, nach einem Shop-Update Ihre _custom.tpl Dateien mit den neuen Original-Template-Dateien zu vergleichen. Änderungen müssen manuell nachgezogen werden!

Smarty-Template-Programmierung

JTL-Shop3 nutzt die Smarty-Template-Engine Version 2.
Eine umfassende Dokumentation zu Smarty finden Sie unter http://www.smarty.net/docsv2/de/ .

Beachten Sie, dass geschweifte Klammern von Smarty als Funktionsaufruf gewertet werden!
Falls Sie geschweifte Klammern z.B. für JavaScript-Code ausgeben möchten, müssen Sie den Code entweder in einen {literal}-Block einbinden oder geschweifte Klammern als {ldelim} und {rdelim} darstellen.