Template Script
Kann mir jemand das genäuer erklären? ich versteh das nicht wirklich.
"Hi
kennt ihr das Problem das in Dateien sehr wenig PHP-Code ist und die dateien trotzdem mehrere Kilobyte groß sind? Ich habe hier eine einfache Lösung wie ihr das vermeidet.
Dazu braucht ihr 3 Funktion die ich jetzt mal beschreibe.
1.Starten der Platzhalter Variablen
php:1:
2:
3:
4:
function template_start ($platzhalter) { //Definiert die Funktion
global $template; //Die globale template Variable wird in die Funktion "gebracht"
$template[$platzhalter] = ""; //Setzt für die Platzhaltervariable einen Leerstring; Wichtig für die zweite Funktion
}
2.Hinzufügen der Inhalte
php:1:
function template_add ($string, $platzhalter) { //Definiert die Funktion
global $template; //Die globale template Variable wird in die Funktion "gebracht"
$template[$platzhalter] .= $string; //Der Inhalt wird zur Platzhaltervariable hinzugefügt
}
3. Einlesen des Templates und ausgabe von Code und Text
php:1:
function template_send (){ // Definiert die Funktion
global $template; //Die globale template Variable wird in die Funktion "gebracht"
$return = file_get_contents("template.html"); //Das Template wird eingelsen
//Jetzt wird da Template Array durchlaufen
//dabei werden die Platzhalter aus dem Template ersetzt
foreach($template as $Index => $Ausgabe) {
$return = preg_replace("/\%$Index\%/", "$Ausgabe", $return);
}
echo $return; // Jetzt wird alles (Template + Text) Ausgegeben
}
Nochmal der ganze Code
php:1:
function template_start ($platzhalter) {
global $template;
$template[$platzhalter] = "";
}
function template_add ($string, $platzhalter) {
global $template;
$template[$platzhalter] .= $string;
}
function template_send (){
global $template;
$return = file_get_contents("template.html");
foreach($template as $Index => $Ausgabe) {
$return = preg_replace("/\%$Index\%/", "$Ausgabe", $return);
}
echo $return;
}
?>
Verwendung
Ich gehe davon aus dass der Code in der template.php steht.
Dass Template ist standardmäßig in template.html
Das einbinden erfolgt normal über
include('template.php');
Die Ausgabe von Text könnte so aussehen:
template_start('content');
template_add('test', 'content');
template_send();
Und ein Template ca. so:
code:1:
%content%
%footer%
"
Nun meine Frage: Ich habe also eine Datei mit dem Code die template.php und einmal das template.html.
Nun wo kommt der text hinein, der ich ausgeben will?
Ich brauch auf jeden fall noch eine Dritte Datei, denke ich mal mit dem code include template.php. Aber wo muss der Text hin...
glg
stoffl
Wenn 4 Personen in einem Raum sind und 5 wieder raus gehen, muss 1 reingehen, damit niemand drinnen ist. Ja, das ist Mathematik...
(die 4 Personen waren 3 Ärzte und eine Schwangere ;-) am Rande)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »stoffl« (9. Februar 2010, 19:10)