Templates in Community Framework #1 - Die Einleitung

  • WCF 1

Achtung: Diese Seite ist nur noch Teil eines Archivs und wird in Zukunft entfernt.

Nach und nach gehen beim Erstellen von Stilen die Ideen aus, die mit der Grundstruktur der Templates erreicht werden kann, aus. Dann muss das Template bearbeitet werden. Doch wo überhaupt? Und was gibt es dort alles für Möglichkeiten?

Das zu erörtern, versuche ich in dieser X langen Reihe von Artikeln rund um das Templatesystem in Community Framework.

Durch die Kontrollstrukturen (siehe Link oben) ist auch in Templates ohne Programmierkenntnisse einiges möglich.
Neben dem normalen HTML-, JavaScript und minimalen CSS-Code gibt es auch diese Kontrollstrukturen in einem Template. Eine häufig anzutreffende und einfach zu verstehende Kontrollstruktur:

Smarty-Template

  1. {if $this->user->userID != 0}Inhalt{/if}
Diese Zeile fragt ab, ob der Benutzer, der diese Seite anschaut, als userID keine 0 hat. Die userID 0 haben nur Gäste, d.h. die Abfrage filtert Gäste heraus und zeigt in diesem Falle das Wort "Inhalt" für registrierte bzw. eingeloggte Benutzer an.

Natürlich kann es hier noch komplexer werden, aber das ist die Grundstruktur einer Kontrollstruktur. Wie schon oben zu sehen, gibt es in Template-Code auch Variablen. Hier war es die Variable $this. Es gibt auch spezielle Variablen, die als Platzhalter genutzt werden und von Eventlistenern, also über PHP, gefüllt werden können.

Allgemein gilt für die Template-Modifikation: Den integrierten Template-Editor (bei Burning Board 3) nutzen. Wie das genau geht, steht hier:
Templates im Template-Editor bearbeiten - Artikel - KittBlog Portal
Außerdem sollten die Einrückungen auch nach der Bearbeitung beibehalten werden, um die Übersicht im Code gewährleisten zu können.

Anders als HTML-Dokumente müssen Templates niemals das volle Dokument umfassen. Man kann daher ein Template mit folgendem Inhalt erstellen:

Smarty-Template

  1. <a href="index.php?page=User&userID={$this->user->userID}" title="{$this->user->username}">{$this->user->username}</a>
Das Template ist dennoch vollständig. Ein Vorteil bei Templates ist nämlich, dass man sie ineinander schachteln kann. Das geht zwar bei HTML-Dateien auch mit iframes oder per PHP, aber ersteres ist eine veraltete Lösung und PHP in HTML-Dokumenten zu nutzen ist eigentlich nie sinnvoll.
Bei Templates geht das einfach über folgenden Code:

Smarty-Template

  1. {include file='template'}
Damit wird das Template namens template.tpl in das Template, in dem sich der Code befindet, eingefügt. So ist praktisch eine unendlich große Verschachtelung möglich.

Im nächsten Teil geht es dann weiter mit dem wirklichen Bearbeiten von Templates. Falls dennoch jetzt Fragen bestehen, braucht sich niemand zu scheuen, diese zu stellen. ;)
Über den Autor
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

753 mal gelesen

Kommentare 2

  • Black Rider -

    Das geht mit {$__wcf->getUser()->userID} :)

  • Neuling -

    Da du vom WCF2-Tutorial (Teil1) auf dieses Template-Tutorial verweist, wäre natürlich interessant zu wissen, wie man {$this->user->userID} ändern muss, damit es im WCF2 lauffähig ist.