Stand: 30.12.2008 04:56 aktuelle Version auf phpBB.de

Apache At Work Communities Community Building Informationen und Hinweise Installation/Konfiguration/Update MySQL PHP phpBB-Optimierungen phpBB3 Rechtliches Server & Technik Snippets Templates und Mods

Knowledge Base Offline -> Templates und Mods -> Template-Syntax von phpBB

Template-Syntax von phpBB
Autor: Pyramide
Stand: 30.12.2008 04:56
Neuste Version unter: http://www.phpbb.de/doku/kb/template_syntax

### Template-Syntax von phpBB

##### Eine Einführung in die Syntax der phpBB-Templates

Allgemeine Beschreibung des Template-Systems von phpBB
Um das Template-System verwenden zu können, musst du eine Datei nach dieser Vorlage erstellen: Vorlage für in phpBB eingebundene Seiten
Template-Datei(en) laden
Bevor mit Templates gearbeitet werden kann, müssen diese geladen werden. Die Dateinamen sind immer relativ zum phpBB/templates/gewähltes_template/ Verzeichnis.
PHP-Code:

Code:
$template->set_filenames(array( 'meine_seite' => 'meine_seite.tpl', 'fehler' => 'meine_seite_fehler.tpl' ));

Einfache Zuweisung
Zeigt Inhalt aus PHP im Template an.
PHP-Code:

Code:
$template->assign_var('TITEL', 'Willkommen auf meiner Seite');

Template:

Code:
{TITEL}

Mehrere Variablen auf einmal zuweisen
PHP-Code:

Code:
$template->assign_vars(array( 'BESCHREIBUNG' => 'Das ist meine coole Seite', 'INFORMATIONEN' => 'Auf dieser Seite finden sie viele tolle Sachen' ));

Schleifen / Blöcke
Mit Hilfe von Blöcken können z.B. mehrere Datensätze formatiert ausgegeben werden.
PHP-Code:

Code:
for($i=1; $i<=10; $i++) { $template->assign_block_vars('zahlen', array( 'ZAHL' => $i, 'VERDOPPELT' => $i*2 )); }

Template:

Code:
Wir Zählen von 1 bis 10: <!-- BEGIN zahlen --> Zahl: {zahlen.ZAHL}, das doppelte davon ist: {zahlen.VERDOPPELT}<br /> <!-- END zahlen -->

Für verschachtelte Schleifen sieht der erste Parameter von assign_block_vars z.B. so aus: zahlengruppe.zahlen und die Variablen im Template dann entsprechend {zahlengruppe.zahlen.ZAHL}. Beispiele dafür findest du z.B. index_body.tpl oder posting_smilies.tpl.
Ein anderer Anwendungsbereich für Blöcke sind If-Konstrukte:

Code:
if($irgendwas == true) { $template->assign_block_vars('switch_irgendwas', array()); }

In diesem Fall wird dem Block kein Inhalt zugewiesen, stattdessen steht zwischen <!-- BEGIN switch_irgendwas --> und <!-- END switch_irgendwas --> der HTML-Code, der nur angezeigt werden soll, wenn die if-Bedingung wahr ist. Beispiele dafür sind switch_user_logged_in und switch_user_logged_out in overall_header.tpl.
Dateien in Dateien
Zeigt den geparsten Inhalt einer Template-Datei als Variable in einer anderen Datei an (ähnlich wie der include-Befehl von PHP). Der Beispielcode macht den Inhalt der (mit dem Code weiter oben geladenen) Datei meine_seite_fehler.tpl als Variable {FEHLERMELDUNG} verfügbar.
PHP-Code:

Code:
$template->assign_var_from_handle('FEHLERMELDUNG', 'fehler');

Template ausgeben
Nachdem der komplette Inhalt dem Template zugewiesen wurde, kann das Template ausgegeben werden. Achtung: nachträgliches Zuweisen von Variablen/Blöcken bringt keine Veränderung mehr.
PHP-Code:

Code:
$template->pparse('meine_seite');

Beispiel
Ein Beispiel, welches die Template-Syntax demonstriert, kannst du dir hier runterladen:
http://www.phpbb.de/doku/foren_liste.zip

Knowledge Base Offline -> Templates und Mods -> Template-Syntax von phpBB

| phpBB.de Knowledge Base (Offline-Version) ©2005 Sascha Carlin und das phpBB.de-Team - Impressum Das Kopieren von Artikeln (auch auszugsweise) ist nur nach ausdrücklicher Genehmigung erlaubt! phpBB.de: Infos | Forum | Downloads | Dokumentation |