Newsletter

  • Immer informiert über die neusten Trends, Webseiten und Tutorials! Einfach hier für den monatlichen Newsletter anmelden.
  •  Eintragen
  •  Austragen

Login

Umfrage

  • Haben Sie Interesse an Softwaretipps für Webmaster?
  •  
  • ja
  • nein
  •  


Linktipps

Anzeige

 

www.finanzcheck.de
» Startseite » PHP und MySQL Tutorials

Arbeiten mit dem Template System Smarty

Hier ist mal eine Erklärung wie man Smarty installiert und mit dem Template System arbeitet.

Installation

Als erstes muss du Smarty herunterladen und erfolgreich auf deinem Server oder "Home" Server (xampp) laden können.

Die Aktuelle Version kannst du hier herunterladen.
http://smarty.php.net/download.php

Wenn du Smarty heruntergeladen hast entpakst du alles und kopierst den Ordner "Libs" in irgend ein Verzeichniss von deinem Webspace oder deinem localhost. Wichtig ist das du den "kompletten" Pfad kennst. Diesen kannst du rausfinden in dem du eine Datei namens "path.php" machst und folgenden Code in ihr einfügst.

  1.  <?php 
  2.  echo $_server['script_filename'];
  3.  ?>


Nun lädst du die Datei in den Ordner Libs und öffnest sie im Browser. Nun hast du wenn du "path.php" wegnimmst den kompletten Pfad. Bei mir sieht dieser Pfad z.b. so aus (auf dem localhost) C:/Programme/xampp/htdocs/libs/

Mit Smarty Arbeiten

Wenn du bis hier hin alles hast kannst du mal einen Ordner erstellen. Wir nennen ihn nun mal "Smarty_test" und tun diesen ins root Verzeichniss des localhost/Servers. In diesem Ordner erstellen wir nun einen Ordner Namens "templates" und einen Namens "templates_c". Wenn du das auf deinem Server machst, musst du dem Ordner templates_c Rechte per CHMOD geben. Stelle diese auf 777. Auf dem localhost sind die rechte automatisch da!

Das ganze sollte dann so aussehen.
- Smarty_test
--templates
--templates_c

Nun erstellen wir eine Datei Namens "index.php" und fügen ihn ihr folgenden Code ein.

  1.  <?php 
  2.  /*
  3.  file: index.php
  4.  arbeiten mit smarty
  5.  */ 
  6.  //die smarty class datei includieren
  7.  //hier muss der komplette pfad genommen werden
  8.  include('c:/programme/xampp/htdocs/libs/smarty.class.php');
  9.  //smarty class in die variable $template laden und die template pfaede festlegen
  10.  $template = new smarty;
  11.  $template->template_dir = 'C:/Programme/xampp/htdocs/Smarty_test/templates/';
  12.  $template->compile_dir = 'C:/Programme/xampp/htdocs/Smarty_test/templates_c/';
  13.  $template->assign('TITLE', 'Smarty Test');
  14.  $template->display('index_body.tpl');
  15.  ?>


Wie man sieht sind hier die direkten Pfäde angegeben. Das ist vor allem dann wichtig wenn Smarty nicht im gleichen Ordner liegt.

Erklärungen

Mit $template->assign(); definieren wir eine Variable diese dann im Template mit {$VARIABLE} aufgerufen werden kann.
Das $template->display(); ruft die Template Datei auf mit dieser gearbeitet werden soll. In diesem Fall habe ich sie "index_body.tpl" genannt. Erstelle diese Datei auch und füge in ihr folgenden Code ein.

  1.  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
  2.  <html> 
  3.  <head> 
  4.  <title>{$TITLE}</title> 
  5.  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
  6.  </head> 
  7.  <body> 
  8.  <h1>{$TITLE}</h1> 
  9.  </body> 
  10.  </html>


Wie man sieht findet man hier unsere assign Variable TITLE wieder. Sie gibt hier das aus was in der PHP Datei zwischen den ' ' steht. Die Datei index_body.tpl sollte in den Ordner templates sein.

Resultate angucken.

Nun kannst du in deinem Browser http://localhost/Smarty_test/ aufrufen und solltest keine Fehlermeldung bekommen. Es sollte "Smarty Test" angezeigt werden. Wenn das so ist hast du alles richtig gemacht.

Nun gibt es natürlich noch mehrere möglichkeiten die Variablen ins Template zu übertragen wie z.b. in einem Array. Aber das hier recht für den Anfang erstmal. Weiteres hierzu gibt es bald in der Doku.

Fragen? Probleme? Keine Antworten? Hilfe finden Sie im Webmaster Forum!

Diese Artikel könnten Sie auch interessieren:
Reguläre Ausdrücke
Unterschiedlicher Footer auf verschiedenen Seiten
String nach Wortende trennen
Alternative Syntax für Kontroll-Strukturen
Was ist PHP?


 
Anzeige