Sie sind nicht angemeldet.

stoffl

Schüler

  • »stoffl« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Bludenz

Beruf: EHZ

Danksagungen: 2

  • Nachricht senden

1

Dienstag, 9. Februar 2010, 19:01

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)


2

Dienstag, 9. Februar 2010, 19:10

Hallo stoffl,

Du hast es im Prinzip ja schon geschrieben. Du erstellst jetzt einfach eine Datei mit folgendem Inhalt:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include('template.php');
 template_start('content');
 template_add('Text blaaaaaaaaaaaaaa''content'); // Text der nach dahin soll wo %content% steht.
template_add('Noch mehr Text''content'); // Nochmal Text für %content%.


template_start('footer');
 template_add('Copyright by Me''footer'); // Text der nach dahin soll wo %footer% steht.

// usw...


 template_send();
?>


Greetz Monday

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer die sich bedankten:

stoffl (09.02.2010)

stoffl

Schüler

  • »stoffl« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Bludenz

Beruf: EHZ

Danksagungen: 2

  • Nachricht senden

3

Dienstag, 9. Februar 2010, 20:52

Super danke!!!
ich hab seit jetzt nun mein Dreamweaver auf meinem Netbook und schon sieht die Sache ganz anderst aus ;-)
Oky hab ich verstanden, aber kann ich den Text auch in HTML schreiben, also ein paar andere Scripte einbinden und herum "wüten" wie ich will?
Oder bin ich durch diese Template sache eingeschränkt?

Der Vorteil dieses Scriptes ist ja, dass ich ein Design mit mehreren Template Seiten immer gleich aussehen lasse und nur die verweise ändere. oder?
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)

Thema bewerten