suche infos zu templates

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Scoutman
Mitglied
Beiträge: 278
Registriert: 11.02.2004 17:15
Wohnort: .at

suche infos zu templates

Beitrag von Scoutman »

da ich leider keine ahnung von der funktionsweiße von templates habe suche ich dazu infos im netz. oder kann mir hier einer erklären wie man templates erstellt?
KEIN Support per PM!!!
Benutzeravatar
jasc
Ehemaliges Teammitglied
Beiträge: 2497
Registriert: 24.05.2001 02:00
Wohnort: Hergensweiler bei Lindau/B

Beitrag von jasc »

Scoutman
Mitglied
Beiträge: 278
Registriert: 11.02.2004 17:15
Wohnort: .at

Beitrag von Scoutman »

danke das bezieht sich aber alles auf phpbb. ich will selber templates unabhängig von phpbb erstellen.
KEIN Support per PM!!!
dr_Alex
Mitglied
Beiträge: 93
Registriert: 19.04.2003 16:43
Wohnort: Bad Berleburg

Beitrag von dr_Alex »

also ich benutze dieses system hier und bin eigentlich sehr zufrieden.

http://www.php-tools.net/site.php?&PHPS ... wnload.xml

ich hoffe dies konnte helfen :)
mfg
Alex
cooler forum für deutsch-russisch sprachigen menschen: http://www.russian-board.com ...
wenn jemand seinen mod auf russisch haben will dann schickt mir eine PM und ich werde das gerne für euch übersetzen ...
Benutzeravatar
jasc
Ehemaliges Teammitglied
Beiträge: 2497
Registriert: 24.05.2001 02:00
Wohnort: Hergensweiler bei Lindau/B

Beitrag von jasc »

Scoutman hat geschrieben:danke das bezieht sich aber alles auf phpbb. ich will selber templates unabhängig von phpbb erstellen.
Naja ich dachte halt, dass man sich ja ein bisschen an der phpbb-Templatestruktur orientieren kann, daher habe ich die Links mal geschrieben :-).
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Beitrag von rox²³ »

Es ist eigentlich ganz einfach ein Templatesystem zu erstellen (ohne loops) mit loops wirds dann schon schwieriger.

Ich mache das so:

Die eigentliche Funktion sieht so aus:

Code: Alles auswählen

<?php
function template ($tmpl_name, $tmpl_content, $dir) {
      $pfad = "".$dir."/".$tmpl_name."";
      $tmpl = file_get_contents($pfad);
      if ( trim($tmpl) != "" ) {
        $work = $tmpl;
        if(isset($tmpl_content)) {
        while ( list( $key, $val ) = each( $tmpl_content ) ) { 
                $x = "%%" . strtolower($key) . "%%";
          $work = str_replace($x, $val, $work);
          }
        }
      }
    return $work;
}
?>
In der Funktion werden alle Strings die mit %% anfangen und mit %% enden durch den Inhalt des Arrays $tmpl_content ersetzt. Fals du keine Ausgabe php Seits hast und nur reiner HTML Code ausgeben werden soll wird geprüft ob ein Array namens $tmpl_content vorhanden ist: if(isset($tmpl_content)) {

Die while Schleife wird solange durchlaufen bis alle %%bla%% mit dem inhalt vom Array ersetz wurden.

Demzufolge sehen deine Templates dann etwa so aus:

Code: Alles auswählen

<html>
<head><title>%%titel%%</title></head>
<body>%%inhalt%%
</body>
</html>

In der php Datei werden die Templates dann so angesprochen:

Code: Alles auswählen

$tmpl_name = 'dateiname.tpl';
require_once('./verzeichniss/class_template.php');
echo template ($tmpl_name, $tmpl_content, $dir); 
Wobei $dir den Pfad zu den Template Dateien enthält. $dir kann man in der global.php festlegen oder direkt in der php Datei definieren.

Zwischen $tmpl_name und require_once('./verzeichniss/class_template.php'); kommt der eigentliche inhalt soweit man welchen hat der in der Template Datei eingefügt werden soll. Das Array füllt man so:

Code: Alles auswählen

$tmpl_content['name'] = $name;
$tmpl_content['strasse'] = $strasse;
$tmpl_content['telefon'] = $telefon; 
Die Template datei könnte dann so aussehen:

Code: Alles auswählen

<html>
<head><title></title></head>
<body>%%name%%<br \>
%%strasse%%<br \>
%%telefon%%<br \>
</body>
</html>
Das war eine ganz einfache Variante php Code von HTML Code zu trennen.
Nachteil bei der Variante ist das man bei Schleifen durchläufen aus einer Template Datei 2 oder 3 machen muss. Also die eigentliche schleife muss vom Header bzw Footer des Templates getrennt werden da sonnst der Header oder Footer sooft die Schleife durchlaufen wird wiederhohlt wird.
Scoutman
Mitglied
Beiträge: 278
Registriert: 11.02.2004 17:15
Wohnort: .at

Beitrag von Scoutman »

vielen dank! hast mir schon mal sehr weitergeholfen. werd ich gleich mal testen...
KEIN Support per PM!!!
Antworten

Zurück zu „Coding & Technik“