Magento winkelwagens

Alle winkelwagens die in je webshop beschikbaar zijn, zijn ook toegankelijk via Smarty variabelen, en je kunt de eigenschappen van de winkelwagens rechtstreeks in mailings plaatsen met deze Smarty variabelen:

{$mywebshop.cart.123.grand_total}
{$mywebshop.cart.123.created_at}
{$mywebshop.cart.123.customer.email}

Hierboven zie je een voorbeeld van hoe je wat eigenschappen van winkelwagen met ID "123" in je mailing opneemt. Hierbij verwijst {$mywebshop} naar de naam van je integratie, en "123" naar het ID van een winkelwagen.

Welke variabelen zijn beschikbaar?

In principe zijn alle eigenschappen die door de Magento API worden teruggegeven rechtstreeks beschikbaar als Smarty variabelen. Voor een compleet en actueel overzicht van de beschikbare variabelen kun je het beste de 'Variabelen'-tab bij een integratie in de Integraties-module raadplegen. Deze tool toont alle eigenschappen van beschikbare objecten rechtstreeks via de Magento-koppeling. Daarnaast kun je deze variabelen ook terugvinden in de Magento winkelwagen API documentatie De volgende variabelen zijn echter vaak handig in het gebruik:

  • {$mywebshop.cart.$id.created_at}: het tijdstip waarop de winkelwagen gemaakt is
  • {$mywebshop.cart.$id.updated_at}: het tijdstip waarop de winkelwagen voor het laatst aangepast is
  • {$mywebshop.cart.$id.customer}: de klant die de winkelwagen gemaakt heeft
  • {$mywebshop.cart.$id.customer.name}: de naam van de klant die de winkelwagen gemaakt heeft
  • {$mywebshop.cart.$id.items}: een lijst van de producten in de winkelwagen

In bovenstaande voorbeelden moet je $id vervangen door het ID van een winkelwagen.

Speciale variabelen

De meeste eigenschappen die door de Magento API worden teruggegeven worden rechtstreeks en ongefilterd doorgegegeven aan Smarty. Een aantal variabelen krijgt echter een speciale behandeling, waardoor ze nog wat makkelijker in het gebruik zijn.

Klantgegevens

Je kunt naast eigenschappen over de winkelwagen, ook eigenschappen aanspreken over de klant die deze gemaakt heeft met de customer-eigenschap. Hiervoor kun je alle eigenschappen gebruiken die beschikbaar zijn over een klant. Zie dit artikel voor meer informatie. Zo kun je dus gemakkelijk klantgegevens gebruiken om je Smarty-templates te personaliseren:

Beste {$cart.customer.name},

De items van een winkelwagen

Speciale aandacht vereist de variabele {$cart.items}. Hierin staat een array van alle items uit de winkelwagen. Deze variabele wordt rechtstreeks doorgegeven van de Magento API naar de personalisatievariabelen, en je kunt dus alle eigenschappen van de items inzien op de webpagina over de Magento winkelwagen API documentatie.

Omdat in deze variabele een array staat, gebruik je de variabele vaak in combinatie met een {foreach} loop:

{foreach from=$mywebshop.cart.$id.items as item}
   - {$item.qty}x {$item.name}
{/foreach}

Hier gebruiken we naam {$item.qty} en {$item.name}. Maar er zijn dus veel meer eigenschappen beschikbaar die allemaal op de Magento website worden beschreven.

Meerdere winkelwagens

De variabele {$mywebshop.carts} geeft je toegang tot alle winkelwagens uit de webshop, en kun je bijvoorbeeld gebruiken in combinatie met een {foreach} loop:

{foreach from=$mywebshop.carts|limit:10 item="cart"}
    {$cart.id}: {$cart.items_count}
{/foreach}