Die de_DE.json als SVG-Icon Bibliothek, für Textbausteine und Arrays nutzen

Nutzen Sie die de_DE.json Sprachdatei als Ablageort für SVG-Icons im Template. Der Beitrag zeigt Ihnen, wie Sie diese Icons aus dem Template laden und anzeigen

Juli 5, 2023 - Lesezeit: 6 Minuten

Inhalt

Als SVG-Icon Bibliothek nutzen

Einen praktischeren Einsatz für die Verwendung der Language-Datei de_DE.json ist die Nutzung als Icon-Bibliothek. Legen Sie beispielsweise eine Liste von SVG-Icons dort ab die Sie in Ihren Templates zentral nutzen möchten.

001  {
002      "theme-data":
003      {
004          "name": "Theme Name",
005          "description": "Theme Beschreibung"
006      },
007      "icon_tags":"<svg...  ...</svg>",
008      "icon_user":"<svg... ...</svg>",
009      "icon_date":"<svg... ...</svg>",
010      "icon_comments":"<svg... ...</svg>",
011      "icon_share":"<svg... ...</svg>"
012  }

Binden Sie das SVG-Icon in Ihrem Template mit dem folgenden Aufruf ein:

...
<?php $L->get('icon_tags'); ?>
...

Einenen Großteil der SVG-Icons können Sie aus dem Bootstrap-CSS nutzen und vor dort die gewünschten SVG-Daten zusammentragen und in der de_DE.json sammeln bzw. einbinden.

Hinweis: Der große Vorteil dieser Variante der Icon-Sammlung liegt darin, das Sie diese nicht als SVG, JPG oder PNG separat im Image-Verzeichnis IMG des Themes liegen haben müssen. Greifen Sie einfach über den Namen auf das Icon zu - ganz einfach. Zudem das $L-Objekt bereits geladen ist, muss es nicht mit global referenziert werden und Sie können die Methode get() sofort nutzen.

Für Textbausteine nutzen

Jedem Theme liegt im gesonderten Ordner languages eine Sprachdatei im JSON-Format vor. Für die deutsche Installation des CMS Bludit ist es die Datei de_DE.json. Die Sprachdatei wird beim Start des CMS geladen und steht im $L-Objekt für den Zugriff bereit.

Möchten Sie beispielsweise einen festen Hinweis auf eine Versionsnummer oder Copyright in Ihrem Template einbinden, dann können Sie das in die Datei:

../bl-theme/languages/de_DE.json

ganz einfach wie im folgenden Beispiel eintragen:

001  {
002      "theme-data":
003          {
004              "name": "ThemeName",
005              "description": "Das Beispiel-Theme ..."
006          },
007      "about-theme":"(c) Oliver Lohse - Kontakt@Oliver-Lohse.de"
008  }

Die Zeilen 001...006 finden Sie bereits in der Sprachdatei des betroffenen Templates vor. Ergänzen Sie das Komma in Zeile 006 und tragen einen Key-Value Paar in Zeile 007 ein und speichern das ganze ab.

Möchten Sie den Inhalt in einem Template speichern, dann können Sie den Aufruf wie folgt umsetzen:

...
046  <?php 
047      global $L;
048      echo $L->get('about-theme'); 
049  ?>
...

Je nachdem wo Sie die Einbindung in Ihrem Theme vornehmen, erscheint dann die hinterlegte CR-Information im Laufe der Seite für den Leser.

Einblendungen auf bestimmten Seiten gefällig?

Möchten Sie hingegen, das solche Einblendungen auf bestimmten individuellen Seiten Ihres Blogs erfolgen, dann tragen Sie doch den Beitrags-Slug (das ist der SEO-URL-Name) als Key wie folgt ein:

...
006          },
007      "global-climate-problems":"Sichern Sie sich einen Platz auf der Arche"
008  }
...

Ruft Ihr Template den Beitrag global-climate-problems auf, liest das folgende Codeschnipsel den dazu passende Text aus:

...
048      echo $L->get($page->slug());
...

Allerdings müssen Sie zuvor durch eine geeignete Abfrage sicherstellen, das dieser Beitrags-Slug auch einen Eintrag in der de_DE.json Datei hat, denn sonst erhalten Sie immer die Anzeige des Slug in Ihrem Template - und das wollen Sie ja nicht. Etwa so:

046  <?php 
047      global $L;
048      if($L->get($page->slug()) != $page->slug()) {;
049          echo $L->get($page->slug());
050      }
051  ?>

Hinweis: die Abfrage if($L->get($page->slug())) würde nicht zum Ziel führen, da der get() im Falle des Nichtexistierens eines Values mindestens den Slug wieder an den Aufrufer zurückgibt, er liefert folglich immer eine gültige Rückgabe (true). Daher muss der IF abfragen, ob es nicht der Slug ist der zurück gegeben wird.

Praxistipp: Sie können mit dieser Technik inhaltsbezogene Banner, Affiliate- oder CTA-Links für jeden Beitrag individuell anzeigen und einblenden - das ist toll (das funktioniert auch für Kategorien). Allerdings erhalten Sie bei großen Webseiten schnell ein Problem: Ändern Sie nachträglich einen Beitrags-Slug, dann müssen Sie diese Änderung auch in der de_DE.json vornehmen. Sollten Sie dies vergessen, erhalten Sie keine Einblendung in dem betreffenden Beitrag mehr - und irgendwann verlieren Sie den Überblick. Der Pflegeaufwand wird früher oder später sehr groß werden und Sie sollten dann doch eher zu einem Plugin greifen das diese Arbeit erledigt. Zudem ist der Zugriff für den Autor über das Backend nicht möglich, die Änderungen müssen vom Admin mit FTP-Zugang vorgenommen werden - es sei denn Sie sind selbst der Admin.

de_DE.json für Arrays nutzen

Bislang haben Sie die Angabe von einzelnen Key-Value-Paaren in der Language-Datei bl-themes/theme/de_DE.json kennengelernt. Natürlich ist es auch dort möglich Arrays abzulegen und aus dem Template auf Array-Variablen in der Json-Datei zuzugreifen.

001  {
002      "theme-data":
003      {
004          "name": "Lowpass",
005          "description": "Ein freundliches Layout."
006      },
007      "cta": 
008      {
009          "key1":"value1",
010          "key2":"value2"
011      }
012  }

Legen Sie beispielsweise das Array cta ab Zeile 007 mit einigen Key-Value Paaren als Demonstration an.

Auf das Array zugreifen

Im Template können Sie auf einzelne Keys des Arrays cta wie im folgenden Coding zugreifen, um die Values auszulesen:

<?php echo $L->get('cta')['key1']; ?>

Das Template zeigt in Folge dessen

value1

an.

Iteration

Genau so gut können Sie durch die Schlüssel mit einer PHP-Schleife iterieren, denn cta ist ein iterierbares Objekt wie es in der PHP-Sprachdefinition für foreach heißt.

<?php 
    foreach($L->get('cta') as $key) {
        echo $key; 
    }
?>

Auch hier zeigt das Template beim Aufruf durch die Schleife:

value1value2

den vollständigen Inhalt von cta an, also value1 und value2.

Mehrdimensionales Array

Möchten Sie beispielsweise Produkt-Gruppen bilden, dann empfiehlt es sich ein mehrdimensionales Array anzulegen, beispielsweise ein Array für CTA und Affiliate-Links. Im Beispiel unten nimmt das cta-Array zwei Buchempfehlungen WordPress 5 und WordPress 5 Das Praxisbuch auf. Sie können diese Produktempfehlungen ganz nach belieben erweitern oder anpassen.

001  {
002      "theme-data":
003      {
004          "name": "Lowpass",
005          "description": "Ein freundliches Layout."
006      },
007      "cta":
008      {
009          "wordpress-5": 
010          {
011              "titel":"Wordpress 5",
012              "beschreibung":"Erstellen Sie einen Blog oder eine Website..",
013              "image":"https://www.amazon.de/.../wp5.png",
014              "link":"https://www.amazon.de/..." 
015          },
016          "wordpress-5-praxisbuch": 
017          {
018              "titel":"WordPress 5 Das Praxisbuch",
019              "beschreibung":"WordPress ist weltweit das beliebteste CMS-Tool...",
020              "image":"https://www.amazon.de/.../wp5-praxisbuch.png",
021              "link":"https://www.amazon.de/..." 
022          }
023      }
024  }

Die beiden Buchempfehlungen sind gleichartig strukturiert, es gibt einen titel, eine beschreibung, ein bild und einen link zum Produkt selbst. Wenn Sie noch weitere Attribute benötigen, dann tragen Sie diese im gleichen Schema ein.

049  foreach($L->get('cta') as $key) {
050      echo '<img src="'.$key['image'].'">';
051      echo '<h1>'.$key['titel'].'</h1>';
052      echo '<p>'.$key['beschreibung'].'</p>';
053      echo '<a href="'.$key['link'].'">kaufen...</a>';
054  }

Möchten Sie im Template die Inhalte geeignet als Affiliate-Link anzeigen, dann ist das Coding oben ein guter Start in Ihr individuelles Design.

Zeile 49 holt die einzelnen Buchempfehlungen (Zeile 11 und 16) aus der cta-Tabelle und in den Zeilen 50, 51, 52 und 53 werden dann die einzelnen Attribute des Produktes ausgegeben.

Vorteilhaft bei dieser Array-Struktur ist, das es ein übergeordnetes Array cta gibt, welches Sie automatisch iterieren können ohne dabei die Anzahl der Produkte zuvor kennen zu müssen. Die Anzahl der Produktlinks kann dynamisch ermittelt werden und die Liste an Buchempfehlungen kann beliebig lang sein.

Mit Hilfe dieses Mechanismus können Sie leicht beliebig viele Banner oder Affiliate-Links in der Json-Datei anlegen, um diese dann im Template anzeigen zu lassen. Vorteilhaft hierbei ist, das Sie keinerlei Limitationen unterworfen sind, legen Sie so viele Einträge an wie Sie wollen.

Weiterführende Links

Schlagworte:

Json

Beiträge in der Kategorie "Bludit":

Zeigen Sie mit diesem Coding den Avatar, eMail, Nickname oder andere Benutzer und Autordaten im Beitrag an.

Mit diesem praktischen Affiliate-Plugin für das Bludit CMS verwandeln Sie Ihre Webseite in eine einfache Geldmaschine

So setzen Sie ein bereits installiertes Bludit CMS, ohne erneuten Upload, auf die Werkseinstellungen zurück und starten die Installation neu.

Der Beitrag zeigt Ihnen einige Verbesserungen am beliebten Bludit Theme DEVTHEME

Flatfile CMS erfreuen sich großer Beliebtheit und bieten zudem sehr viele Vorteile die Sie so kaum von den Platzhirschen am Markt erwarten dürfen.

Dieses Bludit Plugin konvertiert aller Bludit Beiträge in das MarkDown Format und die Ordnerstruktur des Pico CMS, legen Sie lediglich die Index.md an

Was ist die Bludit API und zu was kann sie verwendet werden. So rufen Sie Content aus dem CMS Bludit für die Darstellung in anderen Webseiten auf.

Teil 2 - dieser Beitrag zeigt Ihnen das vollständige Coding, wie das CMS Bludit anhand von Tags verwandte Beiträge anlisten kann und als Vorschläge anzeigt.

Teil 1 - Mit wenigen Handgriffen zeigen Sie verwandte Beiträge unter dem Post an. Dank der exzellenten Dokumentation des Bludit-Projektes fast ein Kinderspiel.

Der Umzug mit dem Bludit CMS gestaltet sich einfach. Der Beitrag zeigt die wenigen Schritte die für den Umzug der Domain auf eine neue Adresse nötig sind.

Die Funktion Beiträgen einen Leitartikel zu geben, gibt es schon sehr lange in Bludit, jedoch war die Anzeige im Theme "Alternative" nicht möglich.

Das Bludit Theme TYPERITE ist vielversprechend, da es ein Optimum an Customizing ermöglicht. Entfernen Sie das Branding aus dem Footer - das ist erlaubt.

Der TinyMCE läuft nicht im Standardmode, statt dessen ist der MarkDown Parser aktiviert. Diese Meldung erhalten Sie oft wenn JavaScripte in Plugins stören.

Laden Sie Themengebundene Logos und Bilder mit Hilfe der Helper Klasse Theme oder der Konstante DOMAIN_THEME des CMS Bludits. Das ist die bevorzugte Variante.

Wenn Sie Bludit-Themes und Templates entwickeln dann können Sie dem Leser die Möglichket geben das Theme live umzuschalten für den ersten Eindruck.

Mit diesem Coding können Sie verschiedene Templates starten, jenachdem ob der Leser eine Seite, Kategorie, home oder Tag wählt. Bludit kennt vier Seiten-Typen

Aus Sicherheitsgründen akzeptiert das CMS Bludit nicht alle Dateitypen zum Upload. Als Single-User im CMS, können Sie weitere Dateitypen freischalten.

Möchten Sie einen zweiten Slogan im CMS Bludit implementieren, dann hilft dieses Plugin. Sie benötigen keinen freien Hook und rufen es manuell im Theme auf.

Ein einfaches SEO-Plugin für Bludit CMS zu Überwachung der SEO-Eigenschaften aller Beiträge. Beitrags-Titel und die Beschreibung werden ausgewertet.

In diesem Beitrag zeige ich Ihnen ein SEO-Plugin für das Admin Backend, das in der Lage ist den Beitragstitel und die Metadescription zu überwachen.

Lassen Sie sich im Bludit Backend die wichtigsten SEO Informationen zu Länge des Titels und der Beschreibung anzeigen. Passen Sie die Datei content.php an.

Das senden des so genannten X-Powered Header kann in Bludit für ein schlechteres Ranking sorgen, zudem ist es nicht ratsam, das verwendete CMS aufzudecken

Aktivieren Sie den Seiten Paginator auch für das Theme Alternative, um beizu viel angezeigten Beiträgen auf die nächste Seite blättern zu können.

Schlagwörter und Tags sind hilfreich und beliebt. Dieser Beitrag zeigt Ihnen, wie Sie diese in den beiden Templates BlogX und Alternative einschalten.

Aktivieren Sie die Anzeige von Schlagwörtern im Bludit Theme Alternative. Damit ist das vorinstallierte Template deutlich aufgewertet und funktionaler.

In individuellen CMS Anpassungen kann der Sanitizer etwas hinderlich sein, da er viele HTML-Formate entfernt. Deaktivieren Sie die Funktion in SingleUser Blogs.

Das entfernen von HTML-Eingaben in SingleUser Blogs kann hinderlich sein, da sie die Kreativität etwas drosseln, entfernen Sie diese Funktionen ganz einfach

Wenn Sie die Quicklinks im Bludit CMS Dashboard stören, können Sie diese ganz einfach in der View dashboard.php des Admin Backends deaktivieren oder entfernen

Natürlich können Sie im CMS Bludit Plugins auch manuell ohne Hook aufrufen, denn nicht immer stehen Hooks zur Verfügung oder sind mit anderen Plugins belegt

Ein hochwertiges Affiliate und CTA Plugin für Bludit, mit beqemer Eingabemaske im Admin-Backend für vier Affiliate und CTA einblendungen im Hook pageBegin().

Die Entwicklung eines Plugins für das CMS Bludit ist einfach. Der Beitrag zeigt Ihnen Schritt für Schritt wie Sie vorgehen müssen um an Ihr Ziel zu gelangen.

Inhaltsverzeichnisse in Beiträgen haben hohe SEO Wirkung. Dieses Bludit Plugin erzeugt für jeden Beitrag ein Inhaltsverzeichnis vor dem Beitragstext.

Dieser Beitrag zeigt Ihnen, wie Sie im CMS Bludit den Kategorie-Link (oft auch Permalink oder Slug genannt) zu einem Kategorie-Namen ermitteln können.

Zeigen Sie im Bludit Theme "Alternative" die Metadaten wie Datum und Uhrzeit der Erstellung des Beitrags an. Es sind nur vier einfache Codezeilen

Aktivieren Sie den wichtigen Anleser für Ihre Beiträge mit dem folgenden kleinen und leichten Codeschnipsel für die page.php des ausgewählten Theme.

Der Bludit Media-Manager steuert die Bildforschau wenn Sie Bilder und Fotos in einen Artikel einfügen möchten. Erweitern Sie die bisher fünf Zeilen auf neun.

So aktivieren Sie den integrierten und deutlich einfacheren Markdown-Parser des Bludit CMS und schalten die visuellen Editoren TinyMCE und EasyMDE ab.

Nach der Installtion des CMS Bludit können Sie das Admin Backend aufrufen, um eigenen Content zu erzeugen - melden Sie sich mit dieser URL am Blog an

Bauen Sie eine Listbox, Auswahlliste bzw Combobox als Bludit Custom field und erweitern die Funktionen der hilfreichen Benutzerfelder für Beiträge und Posts.

Im Admin Backend von Bludit können Sie die Einstellungen für den Seiten Paginator vornehmen. Benötigen Sie eigene Werte, dann nehmen Sie diese Anpassung vor.

Möchten Sie Bilder in Bludit CMS an einer zentralen Stelle speichern oder im Ordner des jeweiligen Beitrags, dann sollten Sie diese Einstellungen vornehmen.

Wenn Sie das Bludit-Plugin Contact3 nutzen, können Sie in diesem Plugin eine einfache und wirkungsvolle Blackliste einbauen, die den Inhalt Ihrer Mail prüft

Ein wenigen Schritten installieren Sie ein Bludit Plugin aus dem Internet auf Ihrer eigenen Webseite. Der Beitrag zeigt wie das geht und was benötigt wird

Soll Ihr Plugin auf Events im Admin-Backend reagieren, dann müssen Sie es an einen Admin Controller hängen, um Daten im Backend verarbeiten zu können.

So steuern Sie die Templatevorgabe in Beiträgen mit dem CMS Bludit. Sie können den Tamplatenamen bei der Erstellung von Beiträgen im Backend angeben.

Machen Sie eigene Anzeigen im Notification Panel des Bludit Dashboards. Nutzen Sie den $syslog-Dienst des CMS, um Events oder Checks aus Plugins zu zeigen.

In diesem Bludit Tutorial zeige ich Ihnen wie Sie einen Edit-Button im Frontend einblenden, sofern Sie angemeldet sind, um Beiträge sofort editieren zu können

Bludit ist das beliebteste Flatfile CMS im Web und belegt im Segment der datenbanklosen CMS einen der ersten Spitzenplätze. So einfach richten Sie das CMS ein.

Sie müssen kleine Anpassungen vornehmen, wenn Sie mit Ihrem bisherigen Bludit-Content auf eine neue Domain umziehen. Dieser Beitrag zeigt wie einfach es geht.

Nutzen Sie die Plugin-DB db.php, um individuelle Daten Ihres Plugins zu speichern und lesen diese für die spätere Verarbeitung durch das CMS Bludit aus.

Aus Sicherheitsgründen, sollten Sie die bekannte Standard Admin-URL unkenntlich machen oder verstecken, denn jeder Besucher kann den Admin-Login aufrufen.

Nutzen Sie die de_DE.json Sprachdatei als Ablageort für SVG-Icons im Template. Der Beitrag zeigt Ihnen, wie Sie diese Icons aus dem Template laden und anzeigen

So können Sie das freie Feld TEMPLATE in den Beitragseinstellungen verwenden. Fragen Sie es mit dem folgenden Coding des Beitrags ab und steuern das Templating

Mit den so genannten Custom Fields können neue Attribute der Content Datenbank in jedem Beitrag hinzufügen und auslesen wenn Sie einen neuen Post schreiben

Sie können das Standard CSS des Bludit Theme mit eigenen Definitionen überschreiben. Dazu sollten Sie das Plugin HTML-Code aktivieren und Styles eintragen.

Blenden Sie das Kontaktformular Plugin Contact3 immer oben auf der Kontaktseite ein. Durch die Änderung des so genannten Hook ist dies einfach möglich.

Standardmäßig wird neben der Kategorie die Anzahl enthaltener Artikel gezeigt. Dies kann etwas nerven und stört das Layout, schalten Sie die Funktion ab

Das Bludit CMS ist Multiuserfähig und kann drei Rollen verwalten. Es kann sinnvoll sein, die Rolle Autor dazu zu zwingen, Beiträge als Entwurf zu speichern.

Mit diesem Code, können Sie eine ganz einfache Beitrags-Statistik erstellen und in einem Log-File speichern. Ermitteln Sie welcher Beitrag wie oft gelesen wird

Arbeiten Sie in Bludit mit Seitennavigationen, dann kann die Abfrage der aktuellen Seite durchaus hilfreich sein. So fragen Sie diesen Wert der Seite ab.

Legen Sie mit Hilfe der Benutzerfelder ein Kennzeichen zu jedem Bludit Beitrag an, ob dieser eine Werbung oder einen Affiliate anzeigen soll oder nicht

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.

Ein neues Datenbanfeld für WonderCMS in der json-DB anlegen

Mit diesem Trick legen Sie neue Datenbank-Felder in der JSON-Datenbank des WonderCMS vollkommen automatisiert an - mit nur einer Codezeile im WonderCMS Theme.

Wie kann man Programm Kommentare in json-Files machen?

Wie können Sie Programm Kommentare in json Dateien und Files vornehmen? Gibt es einen Kommentar-Token oder einen anderen Trick um in json zu kommentieren?