Variablen in einem Shoporama-Thema
Überblick über die globalen und seitenbezogenen Smarty-Variablen, die in Shoporama-Themen verfügbar sind.
Grundsätzlich gibt es zwei Arten von Variablen in Shoporama-Themes: die globalen Variablen, die auf allen Seiten vorhanden sind, und die Variablen, die nur auf ausgewählten Seiten vorhanden sind. Zu den globalen Variablen gehören beispielsweise der Inhalt des Warenkorbs, während die anderen Variablen beispielsweise die angezeigte Landingpage oder das angezeigte Produkt betreffen. Nachfolgend finden Sie eine Liste der Variablen, die vorhanden sind, wenn Vorlagen über das Web ausgeführt werden, d. h. nicht in E-Mails.
Wenn die Variable ein Objekt enthält, können die Methoden dieses Objekts in unserer Übersicht über die Template-API eingesehen werden.
Generell empfehlen wir außerdem, einen Blick auf unser Alaska-Theme zu werfen, das kostenlos heruntergeladen werden kann und Beispiele dafür enthält, wie die unten aufgeführten Funktionen arbeiten.

Globale Variablen
$webshop, der angezeigte Webshop.
$webshop->getNewsletters($limit, $offset, $count, $sort), die öffentlich geteilten Newsletter des Shops, zum Aufbau eines Archivs. Jedes Element ist ein „SafeNewsletterCampaign“ mit u. a. den Methoden getTitle(), getDate(), getExcerpt(), getImage(), getUrl() und getContent(). Verwenden Sie $webshop->getLatestNewsletter() für den neuesten Newsletter und $webshop->hasNewsletters(), um zu prüfen, ob Newsletter vorhanden sind. Voraussetzung ist, dass das öffentliche Newsletter-Archiv unter „Newsletter“ aktiviert ist.
$inc gibt an, welche Art von Seite aufgerufen wird. Mögliche Werte hierfür sind: also, search, basket, address, shipping, approve, payment, thanks, order, product_review, subscription, blog, user-sign-up, user-sign-in, user-sign-out, user-edit, user-reset-password, user-profile, user-orders, user-subscriptions, user-change-card.
$shipping, die ausgewählte Versandart.
$frontpage, falls eine statische Seite als Startseite ausgewählt wurde.
$pager_array, wenn die angezeigte Seite eine Seitennavigation enthält. Der Inhalt besteht aus „max“, „current“, „total“, „url“ und „first_url“.
$pager, Pager-Objekt.
$current_url, die absolute URL der angezeigten Seite.
$top_url, die aktuelle relative URL.
$get, $post, $cookie. Ein Array, das die Werte aus GET, POST bzw. COOKIE enthält.
Das System setzt automatisch die folgenden GET-Parameter:
- payment_cancelled – wird auf 1 gesetzt, wenn ein Kunde den Zahlungsvorgang abbricht oder dieser fehlschlägt. Verwenden Sie $get.payment_cancelled, um in Ihrem Theme eine Fehlermeldung anzuzeigen.
$user_id, Benutzer-ID, falls der Kunde angemeldet ist.
$customer, der Kunde, sofern dieser angemeldet ist.
$remote_addr, die IP-Adresse des Kunden.
$selected_payment_gateway, die ID des ausgewählten Zahlungsgateways.
$join_mailinglist: Gibt an, ob der Kunde angegeben hat, dass er den Newsletter abonnieren möchte.
$basket_url, URL zum Warenkorb und dessen Inhalt.
$campaign_ids, IDs von Kampagnen, falls die Produkte im Warenkorb einer Kampagne entsprechen.
$campaigns, falls aktive Kampagnen vorhanden sind.
$campaign_discount, der Rabatt aus den aktiven Kampagnen.
$campaign_matches, ein Array mit Produkten, die zu einer Kampagne passen. Wenn keine Produkte vorhanden sind, ist die Variable null.
$unpaid_order, wenn der Kunde (über einen geschlossenen Warenkorb) eine unbezahlte Bestellung hat.
$unpaid_recurring_order: unbezahlte Abonnementbestellung.
$basket, der Inhalt des Warenkorbs als Array, wobei die einzelnen Elemente die Produkte im Warenkorb sind, mit den Werten:
id, eindeutige ID der Zeile
product_id, die ID des Produkts
in_stock, true/false, ob das Produkt vorrätig ist
product, das Produkt
attributes, die Attribute des Produkts
own_id, die Artikelnummer
amount, die Anzahl im Warenkorb
comment, ggf. Kommentar
Bundle, Array des Produkts, falls es sich um ein Produktpaket handelt
$subscriptions, Abonnements im Warenkorb.
$price, Zwischensumme des Warenkorb-Inhalts.
$shipping_price, Versandkosten.
$total_price, der Gesamtpreis des Warenkorb-Inhalts.
$vat, die Mehrwertsteuer auf den Inhalt des Warenkorbs.
$basket_weight, das Gesamtgewicht des Warenkorbs (z. B. für den Versand).
$total_amount, die Gesamtanzahl der Artikel im Warenkorb.
$voucher, der Rabattcode, falls vorhanden.
$voucher_discount, der Rabatt aus dem Rabattcode.
$shipping_country, das ausgewählte Lieferland.
$nofollow, true/false, je nachdem, ob „nofollow“ auf der Seite gesetzt ist.
$meta_title, Titel der Seite.
$meta_description, Beschreibung der Seite.
$canonical, URL der kanonischen Seite.
$session_order, Array mit der Rechnungsadresse.
$session_del, Array mit der Lieferadresse.
$session_extra, Array mit zusätzlichen Feldern der Bestellung. Wenn ein Feld mit extra[test]=123 gesendet wird, ist $session_extra.test gleich 123 und wird in der Bestellung gespeichert.
Variablen pro Unterseite
Die Benennung der Dateien in einem Shoporama-Theme ist frei wählbar. Einige Dateien sind jedoch erforderlich, z. B. muss eine „global.html“ vorhanden sein, die für die Ausführung aller anderen Dateien zuständig ist. Der eigentliche Inhalt der Seite befindet sich in $contents, und dieser Inhalt stammt aus index.html. Wenn Sie unseren Theme Builder nicht verwenden, muss index.html in der Regel prüfen, welche Art von Seite angezeigt wird, und anschließend den Inhalt anzeigen. Beispiel:
<{if $product}>
<{include file="product.html" product=$product}>
<{/if}>
product.html ist dann für die Anzeige des Produkts zuständig. Ein klassisches Setup wäre:
<{if $inc}>
<{include file=$inc}>
<{elseif $category}>
<{if $category->isFront()}>
<{include file="front.html" category=$category}>
<{else}>
<{include file="category.html" category=$category}>
<{/if}>
<{elseif $landing_page}>
<{include file="landing_page.html" landing_page=$landing_page}>
<{elseif $product}>
<{include file="product.html" product=$product}>
<{elseif $page}>
<{include file="page.html" product=$page}>
<{elseif $blog_post}>
<{include file="blog_post.html" product=$blog_post}>
<{/if}>
Beachte, dass $inc etwas Besonderes ist, da es beispielsweise basket.html ausführt, wenn man sich im Warenkorb befindet.
Wenn der Theme Builder verwendet wird, muss das Theme zunächst in Bootstrap geschrieben sein und anschließend eine zusätzliche Datei namens „default_contents.html“ enthalten, die denselben Inhalt hat, den zuvor „index.html“ hatte. „index.html“ muss nun Folgendes enthalten:
<{if $tb_contents}>
<{$tb_contents}>
<{else}>
<{include file="default_contents.html"}>
<{/if}>
Wobei $tb_contents den Inhalt aus dem Theme Builder darstellt.
Versand
$shops, verfügbare Paketshops.
$shipping_module, der Name des Versandmoduls. Z. B. gls.
$xml_url, URL zur Abholung an Paketshops, sofern verfügbar.
$no_shops, true/false, je nachdem, ob Paketstationen verfügbar sind.
$bird_delivery, true/false. Gibt an, ob an der ausgewählten Lieferadresse eine Burd-Lieferung möglich ist.
Adresse
Keine Variablen außer den globalen.
Genehmigen
Keine Variablen außer den globalen.
Also
$product, das Produkt, das gerade in den Warenkorb gelegt wurde.
Blog
$blog_posts, Array der Blog-Beiträge.
Blogbeitrag
$blog_post, der angezeigte Blogbeitrag.
Kategorie
$category, die angezeigte Kategorie.
$products, Array der Produkte.
Startseite
$category, die Kategorie.
Landingpage
$landing_page, die angezeigte Landingpage.
$meta, Array mit zusätzlichen Feldern
$products, Array der Produkte.
Seite
$page, die angezeigte statische Seite.
Produkt
$product, das angezeigte Produkt.
$meta, Array mit zusätzlichen Feldern
Bestellung
$order, die Bestellung.
Produktbewertung
$order, die Bestellung, die bewertet wird.
Suche
$products, Array von Produkten.
$landing_pages, Array von Landingpages.
$categories, Array von Kategorien.
$count, Anzahl der Ergebnisse.
Ähnliche Artikel
Implementierung von Tracking in ein Shoporama-Thema
Entwicklerhandbuch zum E-Commerce-Tracking in einem Shoporama-Theme: Data Layer, Google Tag Manager, benutzerdefinierte Ereignisse und korrekte...
Ändern Sie den Inhalt Ihrer E-Mails
Anleitung zur Anpassung des Inhalts der automatischen E-Mails, die Ihr Shoporama-Webshop versendet, entweder über den Administrator oder über...
Checkout-Ablauf und Versandberechnung
Anleitung für Entwickler, um den Versand in den Checkout-Flow eines Shoporama-Themas zu integrieren.