http://Bj83.de

Smarty Template System

Will man neue Seiten aufbauen hat man mehr oder weniger die wahl ob man ein template system verwendet oder nicht.
Nimmt man eines, sollte es natuerlich schnell und einfach sein. Wer ein flexibles und mit dem ein oder anderen feature braucht, kann ich “Smarty PHP Template Engine” empfehlen.
Ist ein relativ kleines Paket was man in die Seite einbauen kann um damit dynamische Templates zu erstellen.
Man kann damit nicht nur Design und Technik trennen, sondern kann das Design relativ dynamisch gestalten.
Bei dieser Lösung ist sogar eine Caching funktionalitaet dabei, was bei groesseren Inhalten etwas an performance bringt.

Kleine Beispiel Anwendung

Grundpaket

das zip enthaelt folgende Ordner:

smarty_zip

Wir kopieren den “libs” Ordner in unser Verzeichniss und den Inhalt aus “demo” so das wir folgende Ordner in unserem Verzeichniss haben:

smarty_zip_new

Die Dateien aus templates werden rausgeworfen, die machen wir selbst neu 🙂

Templates

Im Grunde reicht pro Seite ein Template, jedoch mache ich es gern so das Kopf und Fussbereich der Seite ein eigenes Template haben.

Diese werden dann in das jeweilige Template eingebunden und e voila, jede seite hat den gleichen header und footer, und es muss nur an einer Stelle gepflegt werdn.

Mit dieser Methode haetten wir fuer die Startseite 3 Dateien:

<HTML>
<HEAD>
<TITLE>{$title}</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
{config_load file="default.conf" section="setup"}
{include file="header.tpl" title=Startseite}

{$dummy}

{include file="footer.tpl"}

Die “index.tpl” wird spaeter von der php datei aufgerufen und bindet Kopf und Fussbereich ein.

Das Config File kann einstellungen enthalten, oder es wird fuer mehrsprachigkeit zweckentfremdet 😉

Das und die Genauen Syntax Befehle entnehmt ihr aber am besten direkt von der Seite Smarty.

Funktion / PHP Seite

Die aufgerufenen PHP Seiten enhalten dann die Programmierlogik, definieren die Variablen die im Template verwendet werden, und rufen dann das Template auf:

<?php 
require('libs/Smarty.class.php'); 
$smarty = new Smarty; 

$smarty->assign('dummy','blubb'); 

$smarty->display('index.tpl'); 
?>

Features

wegen Template im Template, Caching, Bedingte Anzeige usw… lest ihr euch aber am besten auf der Smarty Seite schlau, da da jeder seine eigene Arbeitsweise diesbezueglich hat 🙂

 

Soviel dazu, eure Seite mit Template waer soweit fertig 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: