Teil 1 Was ist der Smarty Template Parser eigentlich?

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

Juli 5, 2023 - Lesezeit: 3 Minuten
  • Was ist Smarty?
  • Warum ist Smarty?
  • Wozu eine Template-Engine?
  • Teil 1 - des Template-Workshops mit Smarty zeigt Ihnen was Smarty eigentlich ist und kann. Verschaffen Sie sich einen Überblick für eigene Projekte.

    Was ist Smarty?

    Smarty ist eine so genannte Template Engine auf Basis der Programmiersprache PHP (wikipedia.org). Mit Template-Engines trennen Sie das HTML-Gerüst vom Beitragsinhalt der Seiten ab. Sie entwickeln eine Webseitenvorlage in die alle Inhalte geladen werden. Viele bekannte CMS nutzen solche Template-Engines für den Aufbau der Webseiten. Smarty ist eine open Source Anwendung und kostenlos nutzbar. Sie können das Projekt von der Webseite smarty.net herunterladen und auf einem Webserver oder lokalen Server installieren.

    Warum ist Smarty?

    Keine Ahnung, es hätte auch jede andere Template-Engine wie Twig, Mustache, Plates, Blade oder oder oder sein können. Alle die genannten Template-Engines tun im wesentlichen immer das gleiche, sie laden ein Webseitentemplate in das sie den Beitragstext zur Laufzeit einfügen.

    Smarty basiert auf Basis von PHP, während andere auf Sprachen wie JavaScript, Python oder sogar Ruby basieren - es ist also für jeden Sprachdialekt etwas dabei. Dennoch viel meine Wahl auf PHP, da dieser Sprachdialekt stärker verbreitet und auch deutlich typsicherer als JavaScript ist.

    Wozu eine Template-Engine?

    Auch wenn die händische HTML-Seiten-Entwicklung heutzutage kaum noch betrieben wird, dennoch ein Beispiel aus diesem Bereich. Stellen Sie sich vor, Sie schreiben eine Online-Dokumentation mit mehreren 1000 einzelner HTML-Seiten. Jede Seite hat einen Kopf in dem Überschriften sind, einen Inhaltsbereich der den Beitragstext aufnimmt und eine Fußzeile für Ihr Impressum und Datenschutz.

    Ihre Online-Dokumentation soll jetzt noch den Namen des Autors unterhalb des Beitragstextes anzeigen, Sie brauchen also ein neues Feld in allen der über 1000 HTML Seiten. Haben Sie die Anwendung klassisch ausgeführt, müssten Sie daher alle Seiten einzeln modifizieren - das ist wirklich ein menge Arbeit.

    Eine Template-Engine funktioniert anders. Es existiert nur eine HTML-Seite die Platzhalter enthält und Anweisungen mit denen sie erkennt welcher Inhalt in die betroffenen Platzhalter geladen werden soll. Beispielsweise gäbe es die Platzhalter {header}, {body} oder {footer}, dorthin werden wie im Beispiel beschrieben die betroffenen Inhalte zur Laufzeit geladen.

    <html>
        <body>
            {header}
            {body}
            {footer}
        </body>
    </html>

    Das schematische Codeschnipsel oben soll den Inhalt eines solchen HTML-Templates symbolisieren, ohne dabei Anspruch auf Vollständigkeit zu erheben. Dieses Template mus nur einmal existieren, kann jedoch alle 1000 Inhalte Ihrer Onlinedokumentation anzeigen indem es den Text anstelle der Platzhalter läd.

    Wollten Sie folglich noch den Autor mit anzeigen, dann reicht es aus ein weiteres Feld aufzunehmen. Nennen Sie es beispielsweise {autor}.

    <html>
        <body>
            {header}
            {body}
            {autor}
            {footer}
        </body>
    </html>

    Das Feld Autor ist im Template unterhalb jedes Beitragstextes vorhanden und kann angezeigt werden. Natürlich können Sie auch ein Datum oder eine Kontakt-Mail auf diese Weise zu Ihrer Doku anreichern, es ist wirklich ganz einfach.

    Anmerkung - Dieser Einstiegsbeitrag soll Ihnen eher einen schematischen Einstieg in die Template-Engines geben. Es geht nicht so sehr darum exakte Codeschnipsel zum nachprogrammieren zu erhalten, dies folgt in weiteren Beiträgen.

    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.