Seite 2 von 2

Verfasst: 06.01.2005 13:37
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?

Verfasst: 06.01.2005 16:19
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?

Verfasst: 06.01.2005 19:43
von Pyramide
Bevor du dir dein eigenes Template-System schreibst, solltest du dir mal bestehende Systeme angucken, z.B. Smarty: http://smarty.php.net/

Verfasst: 06.01.2005 21:02
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......