BladeOne Template Engine

Seit kurzem unterstützt affiliate-toolkit eine neue Template-Engine. Sie funktioniert komplett anders als die Alte. Sie bietet allerdings einige neue Funktionen.

Vorlagen importieren und exportieren

Das importieren und exportieren einer Vorlage unterscheidet sich nicht vom bisherigen Ablauf.

Ablauf der Engine

Das Template der BladeEngine kann frei definiert werden. man hat im Grunde alle Freiheiten. Anders als bei der alten Engine gibt es nun auch keinen Container rund um die Vorlage.

Beispiel für die Produktbox mit Variationen

Das Beispiel sieht hier evtl ein wenig Wild aus, ist aber im Grunde relativ einfach aufgebaut.

Die Basics zu BladeOne

Affiliate-Toolkit stellt bereits einige Objekte für die Ausgabe bereit.

Objekte vom Plugin

  • products
    Ein Array der Produkte welche übergeben wurden. Es handelt sich hierbei um atkp_product.
  • formatter
    Ein Objekt mit diversen Formatter Funktionen.
  • shop
    Wenn ein Shop vorhanden ist, dann wird hier das atkp_shop-Objekt übergeben.
  • parameters
    Diverse Parameter welche für die Generierung notwendig sind.
  • translator
    Für Übersetzungen im Plugin wird dieses Objekt verwendet. Für Custom-Anpassungen ist das eher zu vernachlässigen.
  • Eigene Objekte/Variablen
    Man kann eigene Objekte mittels Hook in die TemplateEngine übergeben.

Variablen

Tag Note
{{$variable1}} Zeigt den Wert der Variable und nutzt htmlentities (avoid xss attacks)
@{{$variable1}} Zeigt den Inhalt einer Variable direkt (not evaluated, useful for js)
{!!$variable1!!} Zeigt den Wert einer Variable ohne htmlentities (no escaped)
{{ $name or ‚Default‘ }} Wert oder Standard
{{Class::StaticFunction($variable)}} Ruft eine Funktion auf und gibt dessen Rückgabe aus (the function should return a value)

Logische Bedingungen

Tag Note
@if (boolean) Wenn-Bedingung
@elseif (boolean) Sonst wenn Bedingung
@else Sonst Bedingung
@endif Ende der Bedingung
@unless(boolean) Führt den ganzen Block aus wenn der Boolean nicht false ist

Schleifen

Tag Note
@foreach($array as $alias) / @endforeach Führt die Schleife für jeden Wert im Array aus.
@while($condition) / @endwhile Führt die Schleife so lange aus, bis die Kondition nicht mehr wahr ist.

Ausführliche Informationen zu BladeOne findest du hier: https://github.com/EFTEC/BladeOne#bladeone-blade-template-engine

Products

Bevor du direkt auf die Properties des Produktes zugreifst, prüfe ob der Formatter keine Funktion dafür anbietet. Aufruf erfolgt dabei immer mittels

Formatter

Aufruf erfolgt dabei immer mittels

Shop

Bevor du direkt auf die Properties des Shops zugreifst, prüfe ob der Formatter keine Funktion dafür anbietet. Aufruf erfolgt dabei immer mittels

Parameters

Aufruf erfolgt dabei immer mittels

Vorlage im Dateisystem anlegen

Auch die Blade-Templates kannst du wie bisher auch als Template im Filesystem anlegen. Hier wird die gleiche Logik wie bisher genutzt.

Blade-Templates werden allerdings am Ende mit „blade.php“ statt mit „.php“ abgespeichert und es gibt den Unterordner „blade“.

 

Du hast noch Fragen? Kein Problem :-)
Wir beantworten deine Fragen gerne in unserem Forum.