Teil 5 Textconvert und Sonerzeichen mit dem Smarty Template Parser Smarty

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

Juli 5, 2023 - Lesezeit: 2 Minuten
  • index.php
  • artikel.tpl
  • Teil 5 - Deutsche Sonderzeichen wie ü und ä müssen zwingend in HTML konforme Zeichen umgewandelt werden. Die Smarty Modifier erlauben solche manipulationen im Template.

    Deutsche Texte die Sonderzeichen wie "öäü" enthalten, können mit der Template Engine Smarty und dem Templatepattern dieser Beitragsreihe noch nicht automatisch konvertiert werden, damit Sie dies nicht ständig beim schreiben des Beitrags von Hand erledigen müssen, sollte Sie das folgende Coding in Ihre index.php übernehmen.

    index.php

    Fügen Sie in die Datei index.php eine neue Funktion ein (übrigens, sehen Sie mir bitte nach wenn ich diese immer als Methoden bezeichne, denn nichts anderes sind Funktionen, es sind Methoden!):

    01  <?php
    02    require_once('libs/Smarty.class.php');
    03    $smarty = new Smarty();
    04  
    05    function remove_special_chars ($text) {
    06      $specialChars   = array("ö",     "ä",     "ü",     "Ö",     "Ä",     "Ü",     "ß");
    07      $specialReplace = array("ö","ä","ü","Ö","Ä","Ü","ß");
    08      $text = str_replace($specialChars, $specialReplace, $text);
    09      return $text;
    10    }
    11  ...
    12  ... <- den Rest des Codes kennen Sie aus dem vorherigen Artikel

    Diese neue Funktion nimmt einen String entgegen und wandelt alle speziellen Zeichen aus dem ARRAY $specialChars in die korrespondierenden Zeichen des Arrays $specialReplace um.

    artikel.tpl

    Damit die Template Engine Smarty die neue Methode nutzt, muss diese im Artikel-Template mit angegeben werden. editieren Sie die artikel.tpl im Ordner templates und stellen Sie jeder Template-Variable mittels Pipe "|" die neue Methode nach, dies nennt sich Modifikator.

    ...  ...
    021  <body>
    ...  ...
    029  <div class="jumbotron">
    030    <h1 class="display-4">{$titel_tmpl|remove_special_chars}</h1>
    031    <hr class="my-4">
    032    <p class="lead">{$anleser_tmpl|remove_special_chars}</p>
    033  </div>
    ...
    050  </body>
    051  </html>

    Smarty ruft beim interpretieren des Templates die neue Methode auf und übergibt ihr automatisch den Inhalt des Platzhalters. Die Syntax:

    {$anleser_tmpl|remove_special_chars}

    ruft folglich die neue Methode (function) remove_special_chars() in der Datei index.php auf und übergibt ihr den Inhalt aus der Variablen $anleser_tmpl. Die Methode liefert den bereinigten String ohne "öüä" mit ö ü und ä an ihren Aufrufer zurück.

    Anmerkung - Durch eigene "functions" (Methoden) können Sie Ihrem Template mehr Intelligenz verleihen und machen es leistungsfähiger. Neue "functions" können Sie mit Pipe | anfügen, Sie können sogar weitere "functions" mit dem Pipe-Operator anhängen {$anleser_tmpl|function_a|function_b|function_c}, Smarty wird sie alle abarbeiten.

    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.