Wie kommt phpbb auf diese {Beispiel} ausgaben?

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.
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Das war auf die Aussage von Andy120 bezogen nicht auf dich :wink:........

Im Grunde ist es ganz einfach bei diesem Trallala Template :roll:

Du bindest die Template Class bzw. die File nennt sich templates.php im Header ein......

Initialisiert in den jeweiligen Files wo das Template benötigt wird......

und includest die jeweilige $language File wo innerhalb $lang['blubb'] definiert ist und schiebst das der Template Class unter......

$tpl= new derkonstruktor();

Man sollte natürlich sicherstellen das anstatt mehrerer Instanzen (Kopie des Objektes) eine Referenz darauf stattfindet....

Was ich mit dieser Template Class noch nicht getestet hab ob es Probleme geben wird.....

Nochwas unklar?
hannes68
Mitglied
Beiträge: 58
Registriert: 14.10.2004 19:52
Wohnort: Paderborn
Kontaktdaten:

Beitrag von hannes68 »

Kann man so sagen :cry:
Mach doch mal ein kleines Beispiel
Sagen wir ich will in meiner Index.tpl Hallo und Willkommen benutzen
{HALLO}

In der lang_xx.php Datei steht jetzt
$lang['Hallo'] = 'Hallo und Willkommen';

In meiner Index lade ich jetzt das Template mit

Code: Alles auswählen

function gettemplate($template,$endung="tpl")
{
return str_replace("\"","\\\"",implode("",file($template.".".$endung)));
}
function dooutput($template) {
echo $template;
}
eval("dooutput(\"".gettemplate("templates/index")."\");"); 
Was muss ich nun machen damit die Texte aus der lang_xx.php bezogen werden?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Bevor du dir dein eigenes Template-System schreibst, solltest du dir mal bestehende Systeme angucken, z.B. Smarty: http://smarty.php.net/
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Warum verwendest du nicht wie ich gesagt habe das Templatesystem von PHPBB, orientierst dich an den üblichen Template Files und an den Files die die Klassenmethoden aufrufen und bindest die Template.php ein ?

Ich sollte fairerweise erwähnen das das PHPBB Template mit eval arbeitet, was als Performancebremse wirkt.....Jede Lite Klasse die mit preg_replace für reine Blöcke auskommt ist schneller als diese !......

Wohingegen Smarty auch zu langsam ist......

Schnapp dir liebe diese
-> http://pear.php.net/package/HTML_Template_IT

Ist einer schnellsten Templates und ist im Vergleich zu Anderen nicht überladen......
Nested Blöcke usw. werden supportet......
Antworten

Zurück zu „Coding & Technik“