Logo

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

Sabrent ext.Festplattengehäuse

Sabrent ext.Festplattengehäuse - HIGH SPEED Das SABRENT externe Festplatte Gehäuse unterstützt UASP, deshalb kann das Gehäuse Ihnen eine außergewöhlich hohe Übertragungsrate von bis zu 5 Gbps für den Datentransfer bieten! Damit lassen sich HD Filme, Music und data in nur Sekunden transferieren. (Abwärtskompatibel mit USB 2.0 oder 1.1) Hinweis

kaufen...
Automad Bludit Coast GetSimple GRAV Handlebars Java PHP Pico Smarty Templating Typemill WonderCMS WordPress yamlCMS

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.

Passend:


Untergeordnete Seiten im Template des CMS GetSimple abfragen

Ermitteln Sie untergeordnete Seiten mit Hilfe von menu_data(). Ordnen Sie Seiten und Beiträge mit dieser Technik einem Leitartikel auf der Webseite zu.

Teil 2 so einfach installieren Sie die Smarty Engine

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

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.

Teil 4 multi Content und Inhalte des Smarty Template Parsers

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

Teil 6 Textbausteine erzeugen und im Smarty Template Parser lesen

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

Teil 7 eigene Templateabfragen in Smarty Template Engine

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.


Meta: Instagram CMSWorkbench.de GIMP-Handbuch.de Kontakt Impressum Datenschutz