Template Klasse

Es wird einfach nichts dargestellt. Und als ich versucht habe die Dateiendung ".php5" zu nehmen, kannte mein Editor zum Beispiel php nicht mehr und stellte alles in Text dar. Im Browser wird schlicht einfach nichts dargestellt. Mittlerweile habe ich eine Zwischenlösung gefunden:
PHP:
//Variablen einlesen
$cmd = $_GET['cmd'];
//Nötige Daten eingeben
$root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);

//Datei einfügen
include($root_path . 'common.' . $phpEx);

//Template einlesen
$template = $files->get($root_path . 'templates/news_adm.html');

//Definierung der Ansichts-Variablen
$titel = $base['title'] . ' - Admin Bereich - News';
$navigation = "<a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/index.php\">&Uuml;bersicht</a><br><a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php?cmd=ansehen\">News erstellen</a><br><a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php?cmd=edit\">News bearbeiten</a>
	<br><a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php?cmd=delete\">News l&ouml;schen</a>";
$short = "<a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/index.$phpEx \">&Uuml;bersicht</a>&nbsp; &middot; &nbsp;<a href\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php\">News</a>";

Zuerst wird der Pfad zum Wurzelverzeichnis und dann die Dateiendung definiert.

Jetzt kommt die Datei, die die Funktionen, Klassen und Basiskonfigurationen vereint.
Dann lade ich das Template als String rein, die Funktion habe ich woanders definiert, und weise drei Variablen die Werte für die Navigation, den Titel und der Shortnavi zu.

Unten kommt das:
PHP:
$template = str_replace($base['tag_start'] . 'TITLE' . $base['tag_end'], $titel, $template);
$template = str_replace($base['tag_start'] . 'SHORTNAV' . $base['tag_end'], $short, $template);
$template = str_replace($base['tag_start'] . 'NAVI' . $base['tag_end'], $navigation, $template);
$template = str_replace($base['tag_start'] . 'CONTENT' . $base['tag_end'], $content, $template);

echo stripslashes($template);

?>

Jetzt werden die Platzhalter im Template aufgeteilt in Start- und Endtags, definiert in der Basiskonfig, sowie in den Text zw. den beiden. Schlussendlich werden die drei ersetzt durch eine vorher definierte Variable. Wer aufgepasst hat, wird bemerken, dass für {CONTENT} noch keine Variable definiert ist. Das liegt daran, dass der Inhalt zw. den beiden Codes bestimmt wird. Bei mir meist durch switch-Blöcke, denn ich finde, dass diese am einfachsten zu handhaben sind.

Hoffe das war verständlich. Es ist zwar meinem Ziel noch nicht gänzlich nahegekommen, aber immerhin besser als den Code mit echo-Anweisungen zu pflastern.
 
Zurück