B
Bgag
Ok es funktioniert hervorragend. Der Fehler war relativ simpel. Es wird ja noch keine Variable content oder nun section übergeben, wenn man die seite so aufruft drum nur eine kurze if-Abfrage und das ganze hat sich. Vielen Dank nochmal an meine netten Helfer! Hier nur nochmal den Code falls jemand anders den noch verwenden will:
Die passenden Links dazu sehen so aus:
MfG, Andy
PHP:
<?php
/* Deklarieren von Inhalten, die auf PHP basieren und immer für bestimmte Platzhalter eingesetzt werden müssen */
$lastchange = filemtime(basename($_SERVER['PHP_SELF']));
$last_change = date("d.m.Y H:i", $lastchange);
$copyright = date("Y");
$url = $_SERVER['PHP_SELF'];
/* Die Klasse Template*/
class template {
private $t;
private $platzhalter;
/* Template anlegen */
public function __construct($template) {
$realtemplate = file_get_contents($template);
$this->t = $realtemplate;
}
/* Den section laden */
public function loadsection($section) {
ob_start();
include $section;
$newsection = ob_get_contents();
ob_end_clean();
return $newsection;
}
/* Den einzelnen Platzhaltern ihre Inhalte zuweisen */
public function setvalue($tag, $value) {
$complete_tag = '{'.$tag.'}';
$this->platzhalter[$complete_tag] = $value;
}
/* Platzhalter im Template finden, ersetzen und letztendlich das ganze ausgeben*/
function parsetemplate() {
echo str_replace(array_keys($this->platzhalter), array_values($this->platzhalter), $this->t); // <--
}
}
$t = new Template("template.tpl");
$t->setvalue( "change" , $last_change );
$t->setvalue( "server" , $url );
$t->setvalue( "copy" , $copyright );
if(isset($_GET['section'])) {
$t->setvalue( "section" , $t->loadsection($_GET['section']));
} else {
$t->setvalue( "section" , $t->loadsection('section_main.php'));
}
$t->parsetemplate();
?>
Die passenden Links dazu sehen so aus:
HTML:
<a href="{server}?section=section_blubb.php">BLUBB</a>