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.

wb_incandescent
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().
wb_incandescent
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.