Variabler i et Shoporama-tema
Oversikt over globale og sidespesifikke Smarty-variabler som er tilgjengelige i Shoporama-temaer.
Det finnes i hovedsak to typer variabler i Shoporama-temaer: de globale, som finnes på alle sider, og variablene som kun finnes på utvalgte sider. De globale variablene er for eksempel innholdet i handlekurven, mens de andre kan være for eksempel landingssiden eller produktet som vises. Nedenfor finner du en liste over variabler som er til stede når malene kjøres via nettet, altså ikke i e-poster.
Hvis variabelen inneholder et objekt, kan metodene for objektet sees i oversikten vår over mal-API-et.
Generelt anbefaler vi også at du tar en titt på vårt Alaska-tema, som kan lastes ned gratis og inneholder eksempler på hvordan det nedenstående fungerer.

Globale variabler
$webshop, nettbutikken som vises.
$webshop->getNewsletters($limit, $offset, $count, $sort), nettbutikkens offentlig delte nyhetsbrev, for å bygge et arkiv. Hvert element er en SafeNewsletterCampaign med blant annet getTitle(), getDate(), getExcerpt(), getImage(), getUrl() og getContent(). Bruk $webshop->getLatestNewsletter() for det siste nyhetsbrevet og $webshop->hasNewsletters() for å sjekke om det finnes noen. Krever at det offentlige nyhetsbrevarkivet er aktivert under Nyhetsbrev.
$inc, hvilken type side som vises. Verdiene for denne kan være 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, den valgte fraktmåten.
$frontpage, hvis en statisk side er valgt som forside.
$pager_array, hvis siden som vises inneholder sideblading. Innholdet er max, current, total, url, first_url.
$pager, pager-objekt.
$current_url, den absolutte URL-en til siden som vises.
$top_url, gjeldende relativ URL.
$get, $post, $cookie. En matrise som inneholder verdiene i henholdsvis GET, POST og COOKIE.
Systemet setter følgende GET-parametere automatisk:
- payment_cancelled — settes til 1 når en kunde avbryter eller mislykkes i betalingsprosessen. Bruk $get.payment_cancelled til å vise en feilmelding i temaet ditt.
$user_id, bruker-ID hvis kunden er logget inn.
$customer, kunden hvis denne er logget inn.
$remote_addr, kundens IP-adresse.
$selected_payment_gateway, ID-en til den valgte betalingsgatewayen.
$join_mailinglist, om kunden har valgt å melde seg på nyhetsbrevet.
$basket_url, URL til handlekurven og dens innhold.
$campaign_ids, ID-ene til kampanjene hvis produktene i handlekurven samsvarer med en kampanje.
$campaigns, hvis det finnes aktive kampanjer.
$campaign_discount, rabatten fra de aktive kampanjene.
$campaign_matches, en matrise med produkter som samsvarer med en kampanje. Hvis det ikke finnes noen produkter, er variabelen null.
$unpaid_order, hvis kunden (via lukket handlekurv) har en ubetalt ordre.
$unpaid_recurring_order, ubetalt abonnement.
$basket, innholdet i handlekurven som en matrise, der de enkelte elementene er produktene i handlekurven, med verdiene:
id, unikt ID på linjen
product_id, produktets ID
in_stock, true/false om produktet er på lager
product, produktet
attributes, produktets attributter
own_id, SKU-nummeret
amount, antall i handlekurven
comment, eventuelt kommentar
bundle, array av produktet hvis produktet er en samlepakke
$subscriptions, abonnementene i handlekurven.
$price, delsummen for innholdet i handlekurven.
$shipping_price, fraktprisen.
$total_price, totalprisen for innholdet i handlekurven.
$vat, merverdiavgiften på innholdet i handlekurven.
$basket_weight, handlekurvens samlede vekt (f.eks. for frakt).
$total_amount, det totale antallet produkter i handlekurven.
$voucher, rabattkoden hvis det finnes en.
$voucher_discount, rabatten fra rabattkoden.
$shipping_country, det valgte leveringslandet.
$nofollow, true/false avhengig av om nofollow er angitt på siden.
$meta_title, tittelen på siden.
$meta_description, beskrivelsen av siden.
$canonical, URL til den kanoniske siden.
$session_order, en matrise med faktureringsadressen.
$session_del, en matrise med leveringsadressen.
$session_extra, en matrise med tilleggsfelt på bestillingen. Hvis et felt med extra[test]=123 legges inn, vil $session_extra.test være 123, og dette lagres på bestillingen.
Variabler per underside
Det er valgfritt hvordan man navngir filer i et Shoporama-tema. Men noen filer er obligatoriske, f.eks. må det være en global.html, og den står for håndteringen av alle de andre filene. Selve innholdet på siden ligger i $contents, og dette innholdet hentes fra index.html. Hvis du ikke bruker vår Theme Builder, må index.html vanligvis sjekke hvilken type side som vises, og deretter vise innholdet. For eksempel:
<{if $product}>
<{include file="product.html" product=$product}>
<{/if}>
product.html vil deretter stå for visningen av produktet. Et klassisk oppsett vil væ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}>
Merk at $inc er litt spesiell, fordi det er den som for eksempel kjører basket.html hvis man er i handlekurven.
Hvis du bruker Theme Builder, må temaet for det første være skrevet i Bootstrap, og deretter må det inkludere en ekstra fil som heter default_contents.html, som har samme innhold som index.html tidligere hadde. Index.html skal nå inneholde følgende:
<{if $tb_contents}>
<{$tb_contents}>
<{else}>
<{include file="default_contents.html"}>
<{/if}>
Der $tb_contents er innholdet fra Theme Builder.
Frakt
$shops, tilgjengelige pakkebutikker.
$shipping_module, navnet på fraktmodulen. F.eks. gls.
$xml_url, URL til pakkeshop-oppslag, hvis tilgjengelig.
$no_shops, true/false avhengig av om det finnes tilgjengelige pakkebutikker.
$bird_delivery, true/false. Om det er Burd-levering til den valgte leveringsadressen.
Adresse
Ingen variabler utover de globale.
Godkjenn
Ingen variabler utover de globale.
Also
$product, det produktet som nettopp er lagt i handlekurven.
Blog
$blog_posts, en matrise med blogginnlegg.
Blogginnlegg
$blog_post, blogginnlegget som vises.
Kategori
$category, kategorien som vises.
$products, en matrise med produkter.
Forside
$category, kategorien.
Landingsside
$landing_page, landingssiden som vises.
$meta, matrise med tilleggsfelt
$products, en matrise med produkter.
Side
$page, den statiske siden som vises.
Product
$product, produktet som vises.
$meta, en matrise med tilleggsfelt
Order
$order, bestillingen.
Produktanmeldelse
$order, bestillingen som anmeldes.
Søk
$products, en liste over produkter.
$landing_pages, en liste over landingssider.
$categories, en liste over kategorier.
$count, antall resultater.
Relaterte artikler
Implementere sporing i et Shoporama-tema
Utviklerveiledning for sporing av e-handel i et Shoporama-tema: datalag, Google Tag Manager, tilpassede hendelser og korrekte produkt-ID-er med...
Endre innholdet i e-postene dine
Veiledning for å tilpasse innholdet i de automatiske e-postene Shoporama-nettbutikken din sender, enten via administrator eller temamaler.
Kasseflyt og fraktberegning
Veiledning for utviklere for å implementere frakt i kassaflyten i et Shoporama-tema.