Templates nutzen aber wie

danielmueller

Gesperrt
Ich möchte auf meiner Seite gerne Template einsetzten. Es gab zwar schon eine Menge Beiträge zu diesem Thema aber keins hat mir so richtig geholfen. Kann mir vielleicht mal irgendjemand erklären oder eine Seite nennen auf der die Umsetzung erklärt wird? Das Grundpronzip ist mir schon in etwa klar eine Html Seite wird geladen und diese dann "geparst" und die dortigen Variablen dann von php ersetzt. Mir fällt nun allerdings nicht ein wie ich das in einem php Skript umsetzten könnte. Ich möchte mir auch nicht einfach ein fertiges Skript runterladen weil ich es dann immer noch nicht verstanden habe.
Hoffe ihr könnt mir helfen.


Ich versuch nocheinmal zu beschreiben was ich vorhabe:
Mein Homepage (http://daniel-portal.de ) Verwendet momentan etwas das man vielleicht annäherungsweise als Templates betrachten könnte: Die Inhalte in der Mitte sind jeweils der eigentliche Inhalt, der Rest wir per Include Befehl eingefügt. Soweit so gut nun möchte ich das aber igendwie ein bisschen proffessioneller hinbekommen ich habe versucht das irgendwie am Beispiel vom Woltlab Burningbook abzugukcen aber das habe ich nicht so ganz verstande.
 
Hallo,
das "Grundprinzip" ist aber nur eines von vielen. Es gibt zahlreiche Möglichkeiten eine Vorlage umzusetzen. Die Erstellung einer statischen HTML-Seite, die dann nur mit Daten aus einer Datenbank gefüllt wird ist nur eine, wenn auch einfache, aber langsame Möglichkeit.

In aller Regel wird ein solches System (kurz beschrieben) so umgesetzt:

1.) Du baust eine HTML-Seite, die ggf. Tabellen, Frames etc. enthält eben die Vorlage.
1a) Achte hierbei auf absolute Pfadangaben (z. B. bei Bildern und Grafiken oder Spacern etc.), dass spart hinterher eine Menge Ärger (ggf. führst du eine Variable ein z. B. $root = "meinedomain.com";
2.) Du schreibst einen "Parser" der Deine Konventionen umsetzt.
Rufst zum Beispiel eine ID aus einer Datenbank auf die einen Teaser ("Textanreißer") beinhaltet, so wird in der HTML-Seite Dein Code (den Du selbst bestimmen kannst) durch den der Datenbank ersetzt. Das mach i.d.R.. die Funtkion ereg_replace, str_replace etc..
An der Stelle wo z. B. der Titel auftaucht schreibst du in der HTML-Vorlage folgendes:

<body>
<h1>{myTitleTag}</h1>

Dein "parser macht nun
str_replace("{myTitleTag}", "$dataBaseTitle", $htmlTemplate);

das wird nun für alle "Tags" durchgeführt und dann an den Browser geschickt.
That`s it!

Gezeigt wird das in zahlreichen Zeitschriften (Php-Magazin, aktuelle CT etc.).

Regards
Create
 
Lass die Finger von FastTemplate, das ist eine viel zu langsame und alte Portierungslösung. Smarty ist so ziemlich das optimalste.
 
Ich werd mir mal die aktuelle CT besorgen wenn das da drin steht. Smarty werd ich mir mal ansehen. Was ist denn eigentlich die schnellste Möglichkeit für sowas?(von der Ladezeit her)
 
Das schnellste ist wohl selber etwas zu schreiben was nur genau so viel machen kann wie du auch brauchst.

Ich benutze auch Smarty und bin sher damit zufreiden.
 
Hey Leute,

hätte da noch eine Frage zum "Parsen". Ich hab mir auch ein kleines Template-System, ohne eine Mysql-Db, geschrieben und frage mich, warum einige Template-Systeme eine MySql-DB benötigen?

Danke für die Hilfe

Gruß Kon
 
Geschwindigkeit ist keine Hexerei

Hallo,

meiner Ansicht nach mögen die Template alle gut sein, aber ein in C geschriebenes Template-System wird immer dem PHP-Pendant unterlegen sein.
Es ist eine Frage der Sprache, auch wenn die PHPeigenen Syteme z.T. gut optimiert sind!

Achtung dummer Vergleich:
Der noch so gut eingestellte Amiga500+, kommt auch an einen PII nicht dran :)
 
Zurück