Teil 3 ein einfaches Template im Smarty Template Parser anlegen

Legen Sie ein erstes sehr einfaches TPL Template für die Template-Engine Smarty an und lassen den Inhalt eines Artikels und Beitrags laden und rendern.

Juli 5, 2023 - Lesezeit: 3 Minuten
  • index.php
  • artikel.tpl
  • Teil 3 - des Template-Workshops in dem Sie ein erstes Template anlegen und Daten anzeigen lassen können - die erste Webseite zeigt sich.

    Nachdem Sie die Template Engine Smarty heruntergeladen und installiert haben, wird es Zeit ein erstes Template zu erstellen. Legen Sie als erstes eine neue leere Datei mit dem Namen index.php in der root an, diese wird zukünftig als Einsprung für Ihre Damain dienen bzw. wird ausgeführt, um die Template Engine zu starten.

    +-- radelle.de
       |
       +-- libs
       |
       +-- templates
       |      |
       |      artikel.tpl
       |
       +-- templates_c
       |
       index.php

    Im Ordner templates legen Sie bitte eine Datei vorlage.tpl an. Diese Datei wird das HTML-Template aufnehmen das Smarty zur Laufzeit läd und befüllt.

    index.php

    Öffnen Sie die Datei index.php mit einem Editor Ihrer wahl und legen Sie die folgenden Programmzeilen an oder kopieren sie heraus:

    01  <?php
    02    require_once('libs/Smarty.class.php');
    03    $smarty = new Smarty();
    04
    05    $smarty->assign('titel_tmpl',   'Titel der Webseite');
    06    $smarty->assign('inhalt_tmpl',  'Der Beitragstext der Seite muss hier hin');
    07    $smarty->assign('autor_tmpl',   'Oliver Lohse');
    08    $smarty->assign('footer_tmpl',  'Impressum - Datenschutz - Copyright');
    09  
    10    $smarty->display('artikel.tpl');
    11  ?>

    Zeile 02 läd die Smarty Engine in das Index-Script und ist pflicht, ohne läuft es nicht. In Zeile 03 erzeugen Sie eine Instance bzw. ein neues Smarty-Objekt das Sie fortan nutzen können um Ihre Templateoperation darauf ausführen zu können.

    Zeile 05 erzeugen Sie einen Platzhalter mit dem Namen titel_tmpl, dem Sie den Inhalt Titel der Webseite zuweisen (dazu später mehr). Die darauffolgenden Zeilen machen genau das gleiche, lediglich mit anderen Variablen und anderen Inhalten.

    Das Laden des Templates artikel.tpl erfolgt am Ende des Scripts in Zeile 10. Da Smarty das Verzeichnis templates als Default kennt, ist es nicht nötig ihm dies vorher zu deklarieren, Smarty sucht automatisch in diesem Verzeichnis nach dem angegebenen Template.

    Am Beginn und am Ende des Scriptes befinden sich die öffnenden und schließenden PHP-Statements <?php ... ?> die dem Browser signalisieren, das es sich um PHP-Code handelt.

    artikel.tpl

    Die Magie des Templatings passiert in der Datei artikel.tpl die Sie zuvor dort leer angelegt haben und auf die Sie im index.php Script referenzieren. Öffnen Sie diese Datei und fügen die folgenden Zeilen ein:

    01  <html>
    02    <head>
    03
    04      <title> {$titel_tmpl} </title>
    05
    06    </head>
    07
    08    <body>
    09            
    10      <h1> {$titel_tmpl}  </h1>
    11      <p>  {$autor_tmpl}  </p>
    12      <p>  {$inhalt_tmpl} </p>
    13      <p>  {$footer_tmpl} </p>
    14
    15    </body>
    16  </html>

    Die Templatevariablen (rot) dürften Ihnen bereits aus der index.php Datei bekannt vorkommen, jetzt haben sie jedoch noch das typische Dollarzeichen vorangestellt, um als echte PHP-Variablen von Smarty interpretiert werden zu können. Führen Sie nun das Script aus indem Sie einfach Ihre Domain im Browser aufrufen z.B.: http://Radelle.de.

    Der Browser zeigt Ihnen eine Webseite mit dem Inhalt aus der index.php an.

    Zugegeben, interessantes Templating ist das noch nicht aber Sie haben eine rudimentäre HTML-Vorlage erzeugt welches von der Template Engine Smarty mit realen Werten zur Laufzeit geladen wird. Wenn der grundlegende Wirkmechanismus klar ist, dann können Sie sich daran setzen komplexe Templates und interessante CSS-Layouts zu kreieren.

    Zwar schreibt das Smarty-Projekt die Extension TPL für seine Templates vor, ich würde jedoch TXT empfehlen. Durch die Änderung auf TXT kann Ihr Host-Editor die Dateien besser erkennen und ggf. zur Bearbeitung öffnen.

    Schlagworte:

    Beiträge in der Kategorie "Smarty":

    Erstellen Sie ein Webseite mit der Template-Engine Smarty ohne aufwändigen Programm Code. Ein trivialer Beitragsloop wiederholt sich in festen Strukturen.

    Werten Sie in eigenen Templates mit der Template-Engine Smarty, Variablen aus und steuern dadurch die individuelle Ausgabe des Content Ihrer Webseite.

    So verhindern Sie die Ausgabe von Warnungen und Meldungen in der Template Engine Smarty. Besonder hilfreich während der Entwicklung in kleinen Projekten.

    Lesen Sie mit der Template Engine Smarty die Konfigurationsdatei config/config.conf und werten individuelle Variablen für die Steuerung des Templates aus.

    Möchten Sie in Smarty Templates Bedingungen abfragen, dann können Sie den IF Befehl des Smarty Parsers nutzen, um die Ausgabe des Templates zu steuern.

    Der Programmcode wird in diesem Beitrag vom Text getrennt und es werden reine eigenständige Textbausteile als Flatfile-DB erzeugt die das Template einliest.

    Konvertierung der Texte und ersetzen von speziellen HTML Characters in Unicode unter Nutzung so genannter Modifikatoren bzw. Modifier im Templateparser Smarty

    Laden Sie mit der kostenlosen Template-Engine Smarty verschiedene Textbausteine aus einem Content Ordner und zeigen deren Inhalte auf der Webseite an.

    Legen Sie ein erstes sehr einfaches TPL Template für die Template-Engine Smarty an und lassen den Inhalt eines Artikels und Beitrags laden und rendern.

    Nachdem Sie die kostenlose Template-Engine Smarty herunter geladen haben, installieren Sie die Programme auf den Webserver und beginnen mit dem Templating.

    Die Template-Engine Smarty ist sehr beliebt für sehr sichere Webseiten. Dieser Workshop führt Sie in die Welt von Smarty ein und startet mit der Installation

    Kategorien

    Automad

    Das kostenlose Flat File CMS Automad bietet bereits nach der Installation auf dem Server das beste Layout unter allen CMS am Markt.

    Bludit

    Das kostenlose Flatfile CMS Bludit ist das beliebteste Content Management System, das dem großen WordPress sehr nahe kommt, jedoch deutlich mehr Sicherheit bietet.

    CMS

    In dieser Rubrik geht es um übergreifenden Themen aus dem Bereich der Content Management Systeme.

    Coast

    Coast ist ein CMS aus deutscher Feder und ist mit einem exzellenten HTML/PHP Frontend-Editor zu vergleichen, die Daten werden direkt in der HTML-Datei gespeichert.

    GetSimple

    Das kostenlose Content Management System GetSimple verspricht genau das, was der Name andeutet, ein stabiles Flat File CMS auf der Basis von XML-Dateien.

    GRAV

    Das kostenlose Content Management System GRAV gehört zu den komplexesten CMS, da es den größten Funktionsumfang mitbringt.

    Handlebars.JS

    Handlebars.js ist eine kostenlose JavaScript Template-Engine mit der einfache Webseiten oder Prototypen leicht und schnell erzeugt werden können.

    htaccess

    Die .htaccess ist die wohl wichtigste und mächtigste Datei, über die der Server seinen Umgang mit den Daten und Besuchern steuert.

    Java

    Java ist die strategische Programmiersprache für verteilte Anwendungen im Internet oder auch in der Client-Server Architektur und sogar auf dem Host.

    Monstra

    Das CMS Monstra ist ein überaus gelungenes und sauber entwickeltes CMS mit Admin-Backend und Flat File Datenbank.

    PHP

    PHP ist die strategische Programmiersprache des Internets, mit PHP geht alles und ohne PHP nichts! Allerdings ist PHP nicht auf lokalen Client-Umgebungen verbreitet (aber möglich).

    Pico

    Das CMS Pico ist derzeit das ausgereifteste und einfachste headless CMS für den Einsatz großer Mengen an MarkDown-Files (Content).

    Smarty

    Smarty ist eine Template-Engine auf Basis der Programmiersprache PHP und ist in der Lage HTML-Vorlagen (Templates) dynamisch mit Content zu versorgen.

    Typemill

    Typemill ist zunächst ein ganz normales Flat File CMS, entfaltet jedoch sein wahres Potenzial mit einigen besonderen Plugins, die es zum kraftvollen Publishing-Tool macht.

    WonderCMS

    WonderCMS ist das mit Abstand kleinste CMS das es derzeit kostenlos gibt. WonderCMS kommt mit einem PHP-Script und einer JSON-Datenbank aus und bietet ein Backend.

    WordPress

    Das datenbankbasierte Content Management System WordPress ist das beliebteste CMS und hält die meisten Installationen - ist allerdings auch das am meisten attackierte System.

    Derzeit sind noch keine passenden Beiträge vorhanden.