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

VariableBeschreibung
productidDie ID des AT-Produkt
asinDie ASIN des Produktes (eindeutige ID)
parentasinDie übergeordnete ASIN (falls Amazon)
eanDie EAN des Produktes.
shopidDie Shop-ID des Produktes (falls vorhanden).
isbnDie ISBN
brandDie Marke
productgroupDie Produktgruppe
releasedateDas Erscheinungsdatum
addtocarturlWarenkorb-URL
producturlProdukt-URL
customerreviewurlKundenbewertung-URL
smallimageurlBildurl klein
mediumimageurlBildurl mittel
mediumimageurlBildurl groß
manufacturerHersteller
authorAutor
numberofpagesAnzahl der Seiten (falls Buch)
featuresEigenschaften
imagesBilder (Array)
offersAngebote (Array)
titleProdukttitel
descriptionBeschreibung
listpriceListenpreis
salepriceVerkaufspreis
availabilityVerfügbarkeit
shippingVersandkosten
isprimeIst Prime
proPro-Argumente
contraKontra-Argumente
postidsPost-Ids der Beiträge (Hauptprodukte)
variationsVariationen des Produktes
get_mainimage($product, $type)Gibt das Hauptbild zurück (largetosmall, smalltolarge,mediumtolarge)
get_product_from_woo($wooid)Gibt das AT-Produkt für eine WooCommerce-Produkt-ID zurück
get_woo_product($productid)Gibt das Woo-Produkt für ein AT-Produkt zurück.

Formatter

Aufruf erfolgt dabei immer mittels

FunktionBeschreibung
get_mark()Gibt das Kennzeichen für Affiliate-Links zurück (Standard: *)
get_listtitle($product)Gibt den Namen der Liste zurück. Falls vorhanden.
get_postlist($product)Gibt alle verknüpften Beiträge eines Produktes als Aufzählung (ul) zurück (Hauptprodukte)
get_predicate_id($product)Gibt die ID des Predikates zurück.
get_predicate_text($product)Gibt den Namen des Predikates zurück.
get_predicate_color($product)Gibt die Farbe des Predikates zurück.
get_predicate_borderstyle($product)Gibt den CSS-Style für den Border des Predikates zurück.
get_proslist($product)Gibt eine Aufzählung (ul) der Pros aus dem Produkt zurück.
get_contralist($product)Gibt eine Aufzählung (ul) der Kontras aus dem Produkt zurück.
get_testresult($product)Gibt das Testsiegel als Html zurück.
get_featuretext($product)Gibt den Feature-Text als HTML zurück.
get_descriptiontext($product)Gibt den Beschreibungstext als HTML zurück.
get_featuretext_short($product)Gibt den gekürzten (auf Zeilen) Feature-Text zurück.
get_descriptiontext_short($product)Gibt den gekürzten (auf Zeichen) Beschreibungstext zurück.
get_infotext($product)Gibt je nach Einstellung Beschreibung oder Feature zurück.
get_listurl()Gibt (falls Liste) die URL der Liste zurück.
get_listlink()Gibt (falls Liste) den Link (href) der Liste zurück.
get_link_mark()Gibt das Affiliate-Char für eine Liste zurück.
get_button_mark($product)Gibt je nach Einstellung den Affiliate-Char für den Button.
get_button_type($product)Je nach Einstellung wird hier der Button-Type zurück gegeben (link, product, woocommerce)
get_button_text($product)Hier wird der Button-Text aus dem Shop zurück gegeben.
get_button_link ($product)Erzeugt den Link (href) für das Produkt je Button
get_title_type($product)Je nach Einstellung wird hier der Link-Type zurück gegeben (link, product, woocommerce)
get_title_mark($product)Gibt je nach Einstellung den Affiliate-Char für den Link.
get_title_link($product)Erzeugt den Link (href) für das Produkt je Link
get_title($product)Gibt den Titel des Produktes zurück.
get_primelogo($product)Gibt das Produkt als Image zurück oder wenn aktiviert, das verlinkte Produkt.
get_producturl($product)Gibt die Affiliate-URL für das Produkt zurück.
get_addtocarturl($product)Gibt die Warenkorb-URL für das Produkt zurück.
get_customerreviewsurl($product)Gibt die URL für die Kundenrezensionen zurück.
get_productlink($product)Gibt den Link (href) für das Produkt zurück.
get_cartlink($product)Gibt den Link (href) für den Warenkorb zurück.
get_percentagesaved($product, $format)Gibt die reduzierten Prozente zurück. %s ist der Platzhalter im Format.
get_savetext($product, $format)Gibt die reduktion als Preis zurück. %s ist der Platzhalter im Format.Gibt die Reduktion als Euro zurück (falls vorhanden).
get_pricetext($product, $format,$emptytext)Gibt den Preis zurück. %s ist der Platzhalter im Format und $emptytext ist der Fallback.
get_listpricetext($product, $format, $emptytext)Gibt den Listen-Preis zurück. %s ist der Platzhalter im Format und $emptytext ist der Fallback.
get_priceinfotextGibt die "Preis inkl." Information aus."
get_wp_review_rating($product)Falls WP-Review aktiv ist, kann hier das Gesamtrating abgefragt werden.
get_displayfield($product, $feldname)Gibt benutzerdefinierte Felder zurück. Als zweiter Parameter der Feldname.
get_refreshdate($product)Das Aktualisierungsdatum des Produktes.
get_refreshtime($product)Die Aktualisierungszeit des Produktes.
get_disclaimer($product)Der Haftungsauschluss aus den Einstellungen.
get_shop_logourl($shop)Gibt die Logo-URL des Shops zurück.
get_shop_smalllogourl($shop)Gibt die kleine Logo-URL des Shops zurück.
get_shop_logo($shop)Gibt das Logo als Bild zurück (img).
get_shop_smalllogo($shop)Gibt das kleine Logo als Bild zurück (img).
get_shop_title($shop)Gibt den Shop-Titel zurück.
get_list_title($list)Gibt den Listen-Titel zurück.
get_list_displayfields($list)Gibt die benutzerdefinierten Felder der Liste zurück.
get_shop_displayfields($shop)Gibt die benutzerdefinierten Felder des Shops zurück.
get_offer_linktext()Gibt den Standard-Text für Angebote zurück.
get_offerproducturl($offer)Gibt die Angebots-URL zurück.
get_offer_productlink($offer)Gibt die Angebote als Link zurück (href).
get_offer_price($offer,$format,$emptytext)Gibt den Angebots-Preis zurück. %s ist der Platzhalter im Format und $emptytext ist der Fallback.
get_offer_total($offer,$format,$emptytext)Gibt den Gesamt-Angebots-Preis zurück. %s ist der Platzhalter im Format und $emptytext ist der Fallback.
get_offer_shipping($offer,$format,$emptytext)Gibt den Angebots-Versand zurück. %s ist der Platzhalter im Format und $emptytext ist der Fallback.
get_offer_availability($offer)Gibt die Verfügbarkeit des Angebots zurück.
get_offer_bestprice($offer, $product)Gibt "Bestpreis" zurück, wenn das Angebot das beste ist."
get_offer_url($offer)Gibt die Angebots-URL zurück.
get_image_smallimageurl($product, $image)Gibt die Bild-URL für das kleine Bild zurück (Bildergalerie).
get_image_mediumimageurl($product, $image)Gibt die Bild-URL für das mittlere Bild zurück (Bildergalerie).
get_image_largeimageurl($product, $image)Gibt die Bild-URL für das große Bild zurück (Bildergalerie).
get_image_smallimage($product, $image)Gibt die Bild-URL für das kleine Bild zurück (href, Bildergalerie).
get_image_mediumimage($product, $image)Gibt die Bild-URL für das mittlere Bild zurück (href, Bildergalerie).
get_image_largeimage($product, $image)Gibt die Bild-URL für das große Bild zurück (href, Bildergalerie).
get_smallimageurl($product)Gibt die Bild-URL für das kleine Bild zurück.
get_mediumnimageurl($product)Gibt die Bild-URL für das mittlere Bild zurück.
get_largeimageurl($product)Gibt die Bild-URL für das große Bild zurück.
get_smallimage($product)Gibt die Bild-URL für das kleine Bild zurück (href).
get_mediumnimage($product)Gibt die Bild-URL für das mittlere Bild zurück (href).
get_largeimage($product)Gibt die Bild-URL für das große Bild zurück (href).
get_shorttitle($product)Gibt den gekürzten Produkttitel zurück.
get_bestseller_text($itemIdx,$ignoreSettings)Gibt den Bestseller-Text zurück ($itemidx ist der Index)
get_bestseller_number($itemIdx,$ignoreSettings)Gibt den Bestseller-Nummer zurück ($itemidx ist der Index)
get_rating_text($product)Gibt das Rating x von 6 Sterne zurück.
get_star_rating($product)Gibt die Sterne als html zurück.
get_reviewstext($product)Gibt die Anzahl der Kundenbewertungen zurück (als Html).
get_reviewslink($product)Gibt entweder den eigenen Bewertungslink oder den Kundenbewertungslink zurück.
get_reviewsmark($product)Gibt je nach Einstellung den Affiliate-Char für den Bewertungslink.
get_detailtext()Gibt den Button-Text für die Produktseite zurück
get_detailurl($product)Gibt die Url für die Produktseite (oder Hauptprodukt) zurück.
get_detaillink($product)Gibt den Link für die Produktseite (oder Hauptprodukt) zurück (href).
get_woocommerceurl($product)Gibt die Url für das Woo-Produkt zurück.
get_woocommercetitle($product)Gibt den Titel des Woo-Produkt zurück.
get_woocommercelink($product)Gibt den Link für das Woo-Produkt zurück (href).
get_images($product, $includemainimage,$maximage)Gibt ein Array der Bildern zurück. Der zweite Param gibt an ob das Hauptbild eingefügt wird.
get_offercount($offers)Gibt die Anzahl der Angebote zurück.
get_minoffer($product, $includemainoffer)Gibt das Angebot für den kleinsten Preis zurück.
get_maxoffer($product, $includemainoffer)Gibt das Angebot für den höchsten Preis zurück.
get_offers($product, $includemainimage,$maximage)Gibt ein Array der Angebote zurück. Der zweite Param gibt an ob das Hauptangebot eingefügt wird.
get_variationname($product, $glue)Gibt alle Variationen des Produktes verkettet zurück. Der zweite Parameter ist dabei das Verkettungszeichen.

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

VariableBeschreibung
displayshoplogoSoll das Shop-Logo angezeigt werden.
enablepricecomparisonAngebote automatisch suchen.
buyatButton-Text für "Jetzt kaufen""
addtocartButton-Text für "Warenkorb""
tooltipDer Tooltip für den Button
customtitleShop-titel (nicht der Beitragstitel)
customsmalllogourlURL des kleinen Shop-Logos
customlogourlURL des Shop-Logos
customfield1Benutzerdefiniertes Feld 1
customfield2Benutzerdefiniertes Feld 2
customfield3Benutzerdefiniertes Feld 3
holdontopShop oben halten

Parameters

Aufruf erfolgt dabei immer mittels

VariableBeschreibung
contentGibt den Inhalt aus dem Shortcode zurück.
cssContainerClassGibt den CSS-Container aus dem Shortcode zurück.
cssElementClassGibt den CSS-Element aus dem Shortcode zurück.
addtocartGibt den Button-Typ des Shortcodes zurück.
hidedisclaimerGibt zurück ob der Haftungsauschluss ausgeblendet werden soll.
trackingidGibt die Tracking-ID aus dem Shortcode zurück.
listidGibt die Listen-ID zurück, falls es sich um eine Liste handelt.
templateidGibt die Template-ID zurück, falls ein Template gewählt wurde.
listGibt die Liste (atkp_list) zurück falls es sich um eine Liste handelt.

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.