Variabler i ett Shoporama-tema
Översikt över globala och sidspecifika Smarty-variabler som är tillgängliga i Shoporama-teman.
I Shoporama-teman finns det i stort sett två typer av variabler: de globala, som finns på alla sidor, och de variabler som endast finns på utvalda sidor. De globala variablerna är till exempel varukorgens innehåll, medan de andra kan vara vilken landningssida eller vilken produkt som visas. Nedan följer en lista över variabler som finns när mallarna körs via webben, det vill säga inte i e-postmeddelanden.
Om variabeln innehåller ett objekt kan metoderna för objektet ses i vår översikt över mall-API:et.
Generellt rekommenderar vi också att du tittar på vårt Alaska-tema, som kan laddas ner gratis och innehåller exempel på hur nedanstående fungerar.

Globala variabler
$webshop, den webbshop som visas.
$webshop->getNewsletters($limit, $offset, $count, $sort), webbutikens offentligt delade nyhetsbrev, för att bygga ett arkiv. Varje element är en SafeNewsletterCampaign med bland annat getTitle(), getDate(), getExcerpt(), getImage(), getUrl() och getContent(). Använd $webshop->getLatestNewsletter() för det senaste nyhetsbrevet och $webshop->hasNewsletters() för att kontrollera om det finns några. Kräver att det offentliga nyhetsbrevsarkivet är aktiverat under Nyhetsbrev.
$inc, vilken typ av sida som visas. Värdena för detta kan vara 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, det valda fraktsättet.
$frontpage, om en statisk sida har valts som startsida.
$pager_array, om den sida som visas innehåller sidnavigering. Innehållet är max, current, total, url, first_url.
$pager, pager-objekt.
$current_url, den absoluta URL:en till den sida som visas.
$top_url, aktuell relativ URL.
$get, $post, $cookie. En array som innehåller värdena i respektive GET, POST och COOKIE.
Systemet sätter automatiskt följande GET-parametrar:
- payment_cancelled — sätts till 1 när en kund avbryter eller misslyckas i betalningsflödet. Använd $get.payment_cancelled för att visa ett felmeddelande i ditt tema.
$user_id, användar-ID om kunden är inloggad.
$customer, kunden om denne är inloggad.
$remote_addr, kundens IP-adress.
$selected_payment_gateway, id för den valda betalningsgatewayen.
$join_mailinglist, om kunden har markerat att hen vill prenumerera på nyhetsbrevet.
$basket_url, URL till varukorgen och dess innehåll.
$campaign_ids, ID:n för kampanjer om produkterna i varukorgen matchar en kampanj.
$campaigns, om det finns aktiva kampanjer.
$campaign_discount, rabatten från de aktiva kampanjerna.
$campaign_matches, en array med produkter som matchar en kampanj. Om det inte finns några produkter är variabeln null.
$unpaid_order, om kunden (via stängd varukorg) har en obetald beställning.
$unpaid_recurring_order, obetald prenumeration.
$basket, varukorgens innehåll som en array, där de enskilda elementen är produkterna i varukorgen, med följande värden:
id, unikt id för raden
product_id, produktens id
in_stock, true/false om produkten finns i lager
product, produkten
attributes, produktens attribut
own_id, SKU-numret
amount, antalet i varukorgen
comment, eventuella kommentarer
bundle, array av produkten om produkten är ett paket
$subscriptions, varukorgens prenumerationer.
$price, delsumman för varukorgens innehåll.
$shipping_price, fraktkostnaden.
$total_price, det totala priset för varukorgens innehåll.
$vat, momsen på varukorgens innehåll.
$basket_weight, varukorgens sammanlagda vikt (t.ex. för frakt).
$total_amount, det totala antalet produkter i varukorgen.
$voucher, rabattkoden om det finns någon.
$voucher_discount, rabatten från rabattkoden.
$shipping_country, det valda leveranslandet.
$nofollow, true/false beroende på om nofollow är aktiverat på sidan.
$meta_title, sidans titel.
$meta_description, sidans beskrivning.
$canonical, URL till den kanoniska sidan.
$session_order, en array med faktureringsadressen.
$session_del, en array med leveransadressen.
$session_extra, en array med extra fält i beställningen. Om ett fält med extra[test]=123 skickas in kommer $session_extra.test att vara 123, och det sparas i beställningen.
Variabler per undersida
Det är valfritt hur man namnger filer i ett Shoporama-tema. Men vissa filer är obligatoriska, t.ex. måste det finnas en global.html, och den ansvarar för hanteringen av alla andra filer. Sidans egentliga innehåll finns i $contents, och det innehållet kommer från index.html. Om man inte använder vår Theme Builder måste index.html vanligtvis kontrollera vilken typ av sida som visas och därefter visa innehållet. Exempel:
<{if $product}>
<{include file="product.html" product=$product}>
<{/if}>
product.html kommer därefter att ansvara för visningen av produkten. En klassisk konfiguration skulle vara:
<{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}>
Observera att $inc är lite speciell, eftersom det är den som t.ex. kör basket.html om man befinner sig i varukorgen.
Om Theme Builder används måste temat först och främst vara skrivet i Bootstrap, därefter måste det inkludera en extra fil som heter default_contents.html, som har samma innehåll som index.html tidigare hade. Index.html ska nu innehålla följande:
<{if $tb_contents}>
<{$tb_contents}>
<{else}>
<{include file="default_contents.html"}>
<{/if}>
Där $tb_contents är innehållet från Theme Builder.
Frakt
$shops, tillgängliga paketbutiker.
$shipping_module, namnet på fraktmodulen. T.ex. gls.
$xml_url, URL till paketbutikssökningen, om sådan finns.
$no_shops, true/false beroende på om det finns tillgängliga paketbutiker.
$bird_delivery, true/false. Om Burd-leverans är tillgänglig till den valda leveransadressen.
Adress
Inga variabler utöver de globala.
Godkänn
Inga variabler utöver de globala.
Also
$product, den produkt som just har lagts i varukorgen.
Blog
$blog_posts, en array med blogginlägg.
Blogginlägg
$blog_post, det blogginlägg som visas.
Kategori
$category, den kategori som visas.
$products, en array med produkter.
Framsida
$category, kategorin.
Landningssida
$landing_page, den landningssida som visas.
$meta, array med extrafält
$products, array med produkter.
Sida
$page, den statiska sidan som visas.
Produkt
$product, produkten som visas.
$meta, array med extrafält
Order
$order, beställningen.
Produktrecension
$order, den beställning som recenseras.
Sök
$products, en lista med produkter.
$landing_pages, en lista över landningssidor.
$categories, en lista över kategorier.
$count, antal resultat.
Relaterade artiklar
Implementera spårning i ett Shoporama-tema
Utvecklarguide för e-handelsspårning i ett Shoporama-tema: datalager, Google Tag Manager, anpassade händelser och korrekta produkt-ID:n med...
Ändra innehållet i dina e-postmeddelanden
Guide för att anpassa innehållet i de automatiska e-postmeddelanden som din Shoporama-webbshop skickar, antingen via admin eller temamallar.
Kassaflöde och fraktberäkning
Guide för utvecklare för att implementera frakt i kassaflödet i ett Shoporama-tema.