Geschrieben von HeaD am 02.01.2004 um 19:47:
Templates wie im WBB
Ich habe einmal die Templatefunktion vom WBB auseinandergeflückt, da ich sie persönlich sehr einfach und trotzdem
praktisch finde:
Templates dienen dazu, die Programmierung vom Design zu trennen. Das ist nützlich wenn sich eine Person nur mit Design
und eine andere nur mit Programmieren beschäftigt oder aber wenn man etwas mehr Übersicht haben möchte.
Wir erstellen uns als erstes eine Datei namens function.php
Dort tragen wir folgendes ein:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
<?php
function gettemplate($template) {
$file = file("templates/".$template.".htm");
$template = implode("",$file);
$template = str_replace("\"","\\\"",$template);
return $template;
}
function dooutput($template) {
echo $template;
}
?> |
|
Mit der Funktion gettemplate lesen wir den Inhalt einer HTML Datei ein.
Mit der Funktion dooutput zeigen wir eine HTML Datei an.
Nun speichert den Text und erstellt eine neue Datei namens index.php
Dort tragen wir folgendes ein:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
|
<?
require ("function.php");
if (!isset($action)) {
eval ("\$where = \"".gettemplate("main")."\";");
}
if ($action=="test") {
eval ("\$where = \"".gettemplate("test")."\";");
}
eval("dooutput(\"".gettemplate("index")."\");");
?>
|
|
Speichert nun die Datei.
Zeile 2 <- Hier rufen wir die Datei mit den Funktionen auf
Zeile 3-5 <- Hier bestimmen wir, daß die Seite main.htm geladen werden soll, wenn action keinen Wert hat.
Zeile 7-9 <- Wenn action den Wert test hat, dann soll test.htm aufgerufen werden.
Zeile 11 <- Die Datei index.htm soll angezeigt werden.
Erstellt nun einen Ordner namens Templates. In diesem erstellt eine Datei Namens index.htm.
Tragt dort nun folgenden Text ein:
code: |
1:
2:
3:
4:
|
<html>
Dieser Teil kommt immer!<br>
$where
</html> |
|
Erstellt nun die Datei main.htm im Ordner Templates und tragt dort dieses ein:
code: |
1:
|
Dieses ist die Startseite! |
|
Nun brauchen wir noch die Datei test.htm, die wir im Ordner Templates erstellen und tragen folgendes ein:
code: |
1:
|
Dieses ist die Testseite! |
|
Wenn nun alles gespeichert ist, starten wir die index.php Seite. Zu sehen sollte nun
Zitat: |
Dieser Teil kommt immer!
Dieses ist die Startseite! |
sein.
Geben wir im Browser nun index.php?action=test ein sollte folgendes erscheinen:
Zitat: |
Dieser Teil kommt immer!
Dieses ist die Testseite! |
So kann man sein Design von der Programmierung trennen.
Wenn Ihr eine Datenbank auslest könnt Ihr folgendes machen:
Wenn Ihr meinetwegen die Variablen $row[name] und $row[id] eingelesen habt, so erstellt eine HTML Datei im Templates-
Ordner und tragt dort ein:
code: |
1:
|
$row[id] - $row[name] |
|
Nennt die Datei z.B. name_liste.htm
Nun erstellt Ihr noch eine HTML Datei im Templates-Verzeichnis und nennt sie name_main.htm
Dort Tragt Ihr ein:
code: |
1:
2:
|
Namenliste:
$namen_liste |
|
php: |
1:
2:
|
while($row = $db_zugriff->fetch_array($result)) eval ("\$name_liste .= \"".gettemplate("name_liste")."\";");
eval ("\$where = \"".gettemplate("name_main")."\";"); |
|
Und schon werden alle Resultate mit recht wenig Aufwand aufgelistet.