Der findes overordnet to typer variabler i Shoporama-temaer: De globale, der er til stede på alle sider, og de variabler der kun er til stede på udvalgte sider. De globale vil være variabler som fx kurvens indhold, hvor de andre fx vil være den landingsside eller det produkt der vises. Nedenstående er en liste over variabler der er til stedet når templates afvikles via web, dvs. ikke i mails.

Hvis variablen indeholder et objekt kan metoderne på objektet ses på vores oversigt over template API'et.

Generelt vil vi også anbefale af der kigges på vores Alaska-tema som frit kan downloades, og indeholder eksempler på hvordan nedenstående fungerer.

De globale er følgende:

$webshop, den webshop der vises.

$inc, hvilken type side der afvikles. Værdierne til 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 fragt.

$frontpage, hvis en statisk side er valgt som forside.

$pager_array, hvis siden der vises indeholder sidebladring. Indholdet er max, current, total, url, first_url.

$pager, pager objekt.

$current_url, den absolutte url på den side der vises.

$top_url, nuværende relative url.

$get, $post, $cookie. Et array der indeholder værdierne i hhv, GET, POST og COOKIE.

$user_id, bruger-id hvis kunden er logget ind.

$customer, kunden hvis denne er logget ind.

$remote_addr, ip-adressen på kunden.

$selected_payment_gateway, id'et på den valgte gateway.

$join_mailinglist, om kunden har markeret at denne vil tilmeldes nyhedsbrev.

$basket_url, url til kurven og dens indhold.

$campaign_ids, id'er på kampagner hvis produkterne i kurven matcher en kampagne.

$campaigns, hvis der er en aktive kampagner.

$campaign_discount, rabatten fra de aktive kampagner.

$unpaid_order, hvis kunden (via lukket kurv) har en ubetalt ordre.

$unpaid_recurring_order, ubetalt abonnement.

$basket, kurvens indhold som et array, hvor de enkelte elementer er produkterne i kurven, med værdierne:

id, unikt id på linjen

product_id, id'et på produktet

in_stock, true/false om produktet er på lager

product, produktet

attributes, produktets attributter

own_id, sku-nummeret

amount, antallet i kurven

comment, evt. kommentar

bundle, array af produktet hvis produktet er en samlepakke

$subscriptions, kurvens abonnementer.

$price, subtotalen på kurvens indhold.

$shipping_price, fragtprisen.

$total_price, den samlede pris på kurvens indhold.

$vat, momsen på kurvens indhold.

$basket_weight, kurvens samlede vægt (til fx fragt).

$total_amount, kurvens samlede antal produkter.

$voucher, rabatkoden hvis der er en.

$voucher_discount, rabatten fra rabatkoden.

$shipping_country, det valgte leveringsland.

$nofollow, true/false afhængig af om nofollow er sat på siden.

$meta_title, titlen på siden.

$meta_description, beskrivelse af siden.

$canonical, url på canonical.

$session_order, array med faktureringsadressen.

$session_del, array med leveringsadressen.

$session_extra, array med ekstrafelter på ordren. Hvis der post'es et felt med extra[test]=123 vil $session_extra.test være 123, og den gemmes på ordren.

På de enkelte undersider er følgende tilgængelige:

Det er valgfrit hvordan man navngiver filer i et Shoporama-tema. Men nogle filer er påkrævede, fx der skal være en global.html, og den står for afviklingen af alle de andre filer. Selve indholdet af siden ligger i $contents, og det indhold kommer fra index.html. Hvis man ikke bruger vores Theme Builder vil index.html typisk skulle checke hvilken type side der vises, og efterfølgende vise indholdet. Fx:

<{if $product}>
<{include file="product.html" product=$product}>
<{/if}>

product.html vil efterfølgende stå for visningen af produktet. Et klassisk setup 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}>

Bemærk at $inc er lidt speciel, fordi det er den der fx afvikler basket.html hvis man er i kurven.

Hvis der bruges Theme Builder skal temaet for det første være skrevet i Bootstrap, derefter skal det inkludere en ekstra fil der hedder default_contents.html, der har samme indhold som index.html tidligere havde. Index.html skal nu indeholde følgende:

<{if $tb_contents}>
<{$tb_contents}>
<{else}>
<{include file="default_contents.html"}>
<{/if}>

Hvor $tb_contents er indholdet fra Theme Builder.

Shipping

$shops, tilgængelige pakkeshops.

$shipping_module, navnet på fragtmodulet. Fx gls.

$xml_url, url til pakkeshopsopslag, hvis tilgængeligt.

$no_shops, true/false afhængig af om der er tilgængelige pakkeshops.

$bird_delivery, true/false. Om der er Burd-levering på den valgte leveringsadresse.

Address

Ingen variabler ud over de globale.

Approve

Ingen variabler ud over de globale.

Also

$product, det produkt der lige er lagt i kurve.

Blog

$blog_posts, array af blogindlæg.

Blog post

$blog_post, det blogindlæg der vises.

Category

$category, kategorien der vises.

$products, array af produkter.

Front

$category, kategorien.

Landing page

$landing_page, landingssiden der vises.

$meta, array af ekstrafelter

$products, array af produkter.

Page

$page, den statiske side der vises.

Product

$product, produktet der vises.

$meta, array af ekstrafelter

Order

$order, ordren.

Product review

$order, ordren der anmeldes.

$products, array af produkter.

$landing_pages, array af landingssider.

$categories, array af kategorier.

$count, antal resultater.

Fandt du dit svar?