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 wie 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.
Bitte beachten Sie, dass die Dateien im site Verzeichnis vor direktem Zugriff geschützt sind. Seit der Version 13.4.4 sind auch alle HTML Dateien im skin Verzeichnis geschützt. Da HTML Dateien im skin Verzeichnis als Smarty Templates gelten, sollten diese nie direkt geöffnet werden. Stattdessen verwenden Sie bitte $smarty->fetch() oder $smarty->display().
Sollten Sie eigene Anwendungen im site und skin Verzeichnis haben, welche einen direkten Zugriff erfordern, so legen Sie in das Hauptverzeichnis dieser Anwendungen eine neue .htaccess Datei an und füllen diese mit z.B.:
<Files *>
allow from all
</Files>
Alternativ können Sie in der Version 13 auch das pub Verzeichnis verwenden oder Ihre Anwendungen im Installationsverzeichnis hinterlegen.