Hi!
Nachdem ich nun mittels CSS Design sauber von HTML trennen kann und ich mir die Grundlagen von PHP reingezogen habe, möchte ich nun auch lernen die Programmierung sauber vom Rest zu trennen - sprich ein Template-System muss her. Da ich sehr wissensdurstig bin, möchte ich das selbst lernen.
Mein aktueller stand entspricht in etwas dem auf dieser Seite präsentierten Turorial, ich habe also ein HTML-Template mit Platzhaltern, eine Liste mit Platzhalterzuweisungen und eine Datei die das Template einliest, die Platzhalter ersetzt, in einer Variable speichert und ausgibt.
Wenn ich es richtig verstanden habe, sollten vor Ausgabe des Templates alle dynamischen Geschichten abgeschlossen sein. Was aber, wenn ich im eingelesenen Content auch dynamische Elemente habe, z.B. ein Formular das ich in Abhängigkeit der Eingaben entsprechend selektiere. In meiner Lösung musste ich dazu das Template teilen und jeweis ober- und unterhalb meines Contentbereiches ausgeben - wie kann ich das verhindern? Ich möchte ein geschlossenes HTML-Dokument und alle dynamischen Geschichten vor Ausgabe abgeschlossen haben.
Beispiel:
Merci vielmals,
Nexlamar
Nachdem ich nun mittels CSS Design sauber von HTML trennen kann und ich mir die Grundlagen von PHP reingezogen habe, möchte ich nun auch lernen die Programmierung sauber vom Rest zu trennen - sprich ein Template-System muss her. Da ich sehr wissensdurstig bin, möchte ich das selbst lernen.
Mein aktueller stand entspricht in etwas dem auf dieser Seite präsentierten Turorial, ich habe also ein HTML-Template mit Platzhaltern, eine Liste mit Platzhalterzuweisungen und eine Datei die das Template einliest, die Platzhalter ersetzt, in einer Variable speichert und ausgibt.
Wenn ich es richtig verstanden habe, sollten vor Ausgabe des Templates alle dynamischen Geschichten abgeschlossen sein. Was aber, wenn ich im eingelesenen Content auch dynamische Elemente habe, z.B. ein Formular das ich in Abhängigkeit der Eingaben entsprechend selektiere. In meiner Lösung musste ich dazu das Template teilen und jeweis ober- und unterhalb meines Contentbereiches ausgeben - wie kann ich das verhindern? Ich möchte ein geschlossenes HTML-Dokument und alle dynamischen Geschichten vor Ausgabe abgeschlossen haben.
Beispiel:
PHP:
<?php
/* Templatedateien laden, hier werden die HMTL-Dateien geladen und die Platzhalter ersetzt */
include('inc/template.inc.php');
/* Template Head ausgeben */
echo stripslashes($template_head);
/* Content */
?>
<form action="index.php" method="POST">
<select name="lang" size="1">
<option <?php if ($_SESSION['lang'] == 'deutsch') { echo 'selected="selected"';}?>>deutsch</option>
<option <?php if ($_SESSION['lang'] == 'english') { echo 'selected="selected"';}?>>english</option>
</select>
<input type="submit" value="go" />
</form>
<?php
/* Template Foot ausgeben */
echo stripslashes($template_foot);
?>
Merci vielmals,
Nexlamar