Templates und Skripte
Wurde ein neuer Seitentyp angelegt und einer Seite zugeordnet, hat er zunächst keine Besonderheiten in der Ansicht. Dazu werden zwei zentrale Elemente benötigt:
Das typenspezifische Template (body.html)
Jeder Seitentyp kann ein eigenes Template besitzen, welches das Layout im Frontend ausmacht. Eine News/Liste zeigt z.B. eine Auflistung der neusten News untereinander, ein News/Eintrag dagegen die Nachricht selbst. Beide Layouts werden separat in den Templates der jeweiligen Seitentypen festgelegt.
Das typenspezifische Template wird stets pro Seitentyp in einer body.html unterhalb des Seitentyps gespeichert:
- skin / Design / news
skin / Design / news / entry
skin / Design / news / entry / body.html - skin / Design / news / list
skin / Design / news / list / body.html - skin / Design / news /archive
skin / Design / news /archive / body.html
Achten Sie darauf, dass ihr Seitentyp den gleichen Namen wir im Verzeichnis site/Mandant besitzt.
Weitere Informationen zum Erstellen von Templates finden Sie im Designerhandbuch.
Das typenspezifische Skript (index.php)
Für jeden Seitentyp kann ein eigenes Skript eingebunden werden. Dieses wird nur bei Aufruf des bestimmten Seitentyps geladen.
Zur allgemeiner Trennung von Funktionalität und Darstellung wird empfohlen, alle Aktionen wie: Berechnungen, Datenbankabfragen, Sortierung usw. in diesem Skript durchzuführen. Am Skriptende können alle Ergebnisse an Smarty übergeben werden und anschließend im Template positioniert werden.
Das typenspezifische Skript wird pro Seitentyp in einer index.php unterhalb des Seitentyps gespeichert:
- site / Mandant / news
site / Mandant / news / entry
site / Mandant / news / entry / index.php - site / Mandant / news / list
site / Mandant / news / list / index.php - site / Mandant / news /archive
site / Mandant / news /archive / index.php
Wird unterhalb von site/Mandant/news ebenfalls eine index.php erzeugt, wird diese bei allen news-Seitentypen eingebunden. Innerhalb dieser Skripte stehen bei jedem Seitenaufruf die wichtigsten Objekte $site und $page automatisch zu Verfügung.