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
- Oracle: Was ist json?
- Wikipedia: JavaScript Object Notation
- json.org: Einführung in json
- php.net: JSON Funktionen
von Oliver Lohse