Wie liest phpbb die Template Dateien aus?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
SoulReaver1989
Mitglied
Beiträge: 204
Registriert: 25.04.2004 13:24
Wohnort: Freiberg am Neckar
Kontaktdaten:

Wie liest phpbb die Template Dateien aus?

Beitrag von SoulReaver1989 »

Ich möchte wissen wie phpbb die Template Dateien ausliest, denn ich arbeite gerade an meiner Homepage die auch Template gesteuert sein soll, aber ich weiss nicht ob ich mit file_get_contents() die schnellste Auslesung erziele. Deshalb möchte ich mich an das System von phpbb halten, und auf diesem basierend meine Templatesteuerung schreiben. Hat jemand eine Idee wo ich den Code finde? In includes/template.php hab ich leider nichts gescheites gefunden, oder ich war zu blind das zu sehen...
Oder sind etwa 0.0980 Sekunden noch in Ordnung (die Seite hatte kaum Inhalt und noch kein DB Zugriffe)!!!

Vielen Dank für alle Antworten!
Langeweile?
Schick Feuer an die 112 und sofort stehen 20 lustige Leute mit roten Partyhüten vor deiner Tür!
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Re: Wie liest phpbb die Template Dateien aus?

Beitrag von Blutgerinsel »

SoulReaver1989 hat geschrieben: In includes/template.php hab ich leider nichts gescheites gefunden
Genau hier ist die Template Klasse :wink:
Wobei ich dieser Art von Template Engine nicht unbedingt für gut finde da man immer ein Array anpassen müsste und auch die Templatefile selber erweitern müsste. Statt einfach nur das Template zu erweitern.

Für derartige statische Sachen da sich in einem Forum wohl kaum ständig was ändert ausser bei PHPBB mag die Template Engine ausreichend sein für die Fähigkeiten. Aber für ein vollfunktionsfähige Page die bequem durch Template administriert werden soll. Ist das ungeeignet.

Hab die Template Class jetzt nur mal überflogen........
Wo jetzt genau die Class initialisiert wird kann ich dir nicht genau sagen wo dafür kenne ich den Boardcode zuwenig. Aber vom Gefühl her würde ich auf den Header tippen.

Gute Template Class wäre z.B. Smarty.....

Hier der Code und die olle Array zuweisung:

Code: Alles auswählen

$template->assign_vars(array(
		'L_AUTH_TITLE' => $lang['Auth_Control_Forum'],
		'L_AUTH_EXPLAIN' => $lang['Forum_auth_explain'],
		'L_AUTH_SELECT' => $lang['Select_a_Forum'],
		'L_LOOK_UP' => $lang['Look_up_Forum'],

		'S_AUTH_ACTION' => append_sid("admin_forumauth.$phpEx"),
		'S_AUTH_SELECT' => $select_list)
	);
Benutzeravatar
SoulReaver1989
Mitglied
Beiträge: 204
Registriert: 25.04.2004 13:24
Wohnort: Freiberg am Neckar
Kontaktdaten:

Beitrag von SoulReaver1989 »

Ja das ist schon richtig. Aber mich würde interessieren wie phpbb die TPL Dateien einliest...
Langeweile?
Schick Feuer an die 112 und sofort stehen 20 lustige Leute mit roten Partyhüten vor deiner Tür!
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

SoulReaver1989 hat geschrieben:Ja das ist schon richtig. Aber mich würde interessieren wie phpbb die TPL Dateien einliest...
Hast du überhaupt schon mal irgendeine File angeschaut????

Code: Alles auswählen

$template->set_filenames(array(
		'body' => 'admin/auth_forum_body.tpl')
	);
Benutzeravatar
SoulReaver1989
Mitglied
Beiträge: 204
Registriert: 25.04.2004 13:24
Wohnort: Freiberg am Neckar
Kontaktdaten:

Beitrag von SoulReaver1989 »

Ich verstehe das einfach ned...

Ich kapier vielleicht ned wie man dass mit den Templates macht...

Wie ichs gerade mache:

Code: Alles auswählen

//Code eines Templates
<title>[TITLE]</title>
Blablablalaa
<font size="-2">[COPYRIGHT]</font>

Code: Alles auswählen

//Ich lese die Datei ein
$template= file_get_contents("template.tpl");
Jetzt kann ich meine definierten Variablen ersetzen:

Code: Alles auswählen

//Templatevariablen ersetzen
$base= str_replace("[TITLE]", "$title", $template);
Wie wird denn dass im professionellen PHP-Schreiben gemacht... ich bin halt nur so Learning-By-Doing PHPler (Try 'n Error)
Langeweile?
Schick Feuer an die 112 und sofort stehen 20 lustige Leute mit roten Partyhüten vor deiner Tür!
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Für gewöhnlich arbeit man mit Regular Expressions. Das kannst du dir so vorstellen. Ich lege eine Schablone z.B. an einer eMail Adresse an und finde wenn heraus wenn ich die Schablone anlege ist es gleich oder nicht gleich. So kann ich entschieden ob jemand eine gültige eMail oder eine falsche eingegeben hat. Zugegeben kann von Situation zu Situation sehr komplex und verwirrend werden.
Und natürlich verwendet man da noch reines OOP Objekt Orientierte Programmierung was bei C++ z.B. nur erwartet wird.

Wie Templates arbeiten kannst in diesem Tut nachlesen:
http://www.php-resource.de/tutorials/read/26/1/
Antworten

Zurück zu „Coding & Technik“