Udo: Templates

Beitrag lesen

mal ein Beispiel für das Hauptprogramm zu deinem Template:

  
<?php  
class cTemplate {  
 var $template_string;  
  
 function cTemplate($template_file) {  
  $this->template_string = @file_get_contents($template_file); // Template in einen String einlesen  
  if ($this->template_string == "") { die("Fehler: Template nicht gefunden"); } // Fehler  
 }  
  
 function assign($marker, $value) { // einer Markierung im Template Daten zuweisen  
  $this->template_string = str_replace($marker, $value, $this->template_string);  
 }  
  
 function display() { // das Template mit den Inhalten ausgeben  
  print $this->template_string;  
 }  
}  
  
$html = new cTemplate("template.htm");  
  
$page = $_GET['page'];  
switch ($page) {  
case 'guestbook_list':  
 $html->assign("###TITLE###", "Gästebuch");  
 // Datenbankabfrage usw. und hier evtl. mit Subtemplates für ###CONTENT### arbeiten  
 $html->assign("###CONTENT###", "");  
    break;  
default:  
 $html->assign("###TITLE###", "Startseite");  
 $html->assign("###CONTENT###", "<h3>Hallo Welt,</h3><p>hier kommt Inhalt ...</p>");  
}  
  
$html->display();  
?>  

dann hat man ein Haupttemplate ohne Programmierlogik und kann das Layout sehr schnell für alle Seiten anpassen