hiho
hier ist meine selbst geschriebene template klasse
also zuerst schreibt ihr eurer template
das ist eine einfache html seite
dort schreibst ihr als platzhalter
z.b. %Titel%, %Navigation% oder %Kontent%
an die stellen wo der inhalt erscheinen soll
dann speichert ihr das ganze im ordner template/index.html
kann ggf. im script angepasst werden
so das schreibt ihr dann in eure index.php
kleine erklärung:
ihr könnt selbst entscheiden, wie die platzhalter heissen sollen
um z.b. %Counter% ersetzten zu können müsst ihr einfach $Ausgabe["Counter"] = "Du bist Besucher Nr. soundso";
schreiben
um %bla% zu ersetzten also
$Ausgabe["bla"] = "hallo ;)";
ich habe %Titel%, %Copyright%, %Navigation uind %Kontent% genommen
<?php
$Ausgabe = array();
$Ausgabe["Titel"] = "Dies ist der Titel";
$Ausgabe["Copyright"] = "hier das copyright";
$Ausgabe["Navigation"] = "hier die navigation";
$Ausgabe["Kontent"] = "hier der kontent bereich";
$Ausgabe["Kontent"] .= "<br \>und hier ist noch ein wenig text"; // der punkt vor dem = is wichtig!
$Ausgabe["Kontent"] .= "jaja noch ein wenig text ;)";
include("template.php"); // die template klasse includen
echo Template::Template_Ausgabe($Ausgabe, "template/index.html"); // das template ausgeben, das erste parameter enthält das zu ersetztende array und das zweite ist optional und erhält den pfad zur datei
?>
template.php
class Template {
// Template einlesen
function Template_Ausgabe ($Ausgaben, $Seite = "template/index.html") {
if(file_exists($Seite)) {
if (function_exists(file_get_contents($Seite))) {
$Template = file_get_contents($Seite);
foreach($Ausgaben as $Index => $Ausgabe) {
$Template = str_replace("%".$Index."%", $Ausgabe, $Template);
}
} else {
$Template = "";
$Datei = fopen($Seite, "r");
while (!feof($Datei)) {
$Zeile = fgets($Datei, 4096);
foreach($Ausgaben as $Index => $Ausgabe) {
$Zeile = str_replace("%".$Index."%", $Ausgabe, $Zeile);
}
$Template .= $Zeile;
}
fclose($Datei);
}
return $Template;
} else {
echo "Die Template Datei existiert nicht!";
exit;
}
}
}
ich hoffe das ganze ist verständlich ;)
bei fragen helf ich gern weiter
mfg Lucas
http://www.i-cms.de.vu
http://www.handyklau.de.gg