Magento events: {$event.order}
In sommige opvolgacties die gekoppeld zijn aan winkelwagen-events, is er een
bestelling beschikbaar via de variabele {$event.order}
. Deze variabele
verwijst naar de bestelling die is voortgekomen uit de betreffende winkelwagen.
Voorbeelden van events waarbij {$event.order}
beschikbaar is:
Veelgebruikte variabelen
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 Magento winkelwagen API documentatie raadplegen. De volgende variabelen zijn echter vaak handig in het gebruik:
- {$event.order.grand_total}: de totaalprijs van de bestelling
- {$event.order.created_at}: het tijdstip waarop de bestelling geplaatst is
- {$event.order.customer}: de klant die de bestelling geplaatst heeft
- {$event.order.customer.name}: de naam van de klant die de bestelling geplaatst heeft
- {$event.order.items}: een lijst van de producten in de bestelling
- {$event.order.discount_amount}: de gegeven korting op een bestelling
- {$event.order.payment}: betaalgegevens over de bestelling
- {$event.order.payment.method}: de betaalmethode van een bestelling (let op de
.
tussenpayment
enmethod
) - {$event.order.billing_address}: het factuuradres van de bestelling
- {$event.order.shipping_assignments}: de verzendadressen van de bestelling
Voorbeeld:
Je bestelling met nummer {$event.order.increment_id} is succesvol geplaatst.
Toegang via {$event.cart.order}
In andere events, zoals Cart-Add,
Cart-Remove of Cart-Edit, is
{$event.order}
niet direct beschikbaar. In veel gevallen kun je dan alsnog
bij de bestelling via {$trigeventger.cart.order}
.
Dit object bevat dezelfde eigenschappen als {$event.order}
. Je kunt dus
exact dezelfde variabelen gebruiken, maar met {$event.cart.order}
als
uitgangspunt:
{$event.cart.order.grand_total}
{$event.cart.order.items}
{$event.cart.order.shipping_assignments}
Zie ook het artikel over {$event.cart}
voor meer uitleg.
De producten in de bestelling
De variabele {$event.order.items}
bevat een lijst van producten die deel
uitmaken van de bestelling. Je kunt deze lijst gebruiken in een foreach-loop:
{foreach from=$event.order.items as item}
- {$item.qty_ordered}x {$item.name}
{/foreach}
Hiermee toon je het aantal en de naam van elk product in de winkelwagen.
Extra informatie via {$item.product}
De variabele {$event.order.items}
bevat een lijst van producten in de
bestelling. Elk item in deze lijst heeft standaard eigenschappen zoals
{$item.qty_ordered}
en {$item.name}
. Daarnaast bevat elk item ook een extra
eigenschap {$item.product}
, die uitgebreide informatie bevat over het
bijbehorende product.
Je kunt deze variabele gebruiken binnen de foreach-loop over de items:
{foreach from=$event.order.items as item}
<img src="{$item.product.image}" />
{$item.qty_ordered}x {$item.name}
{/foreach}
Alle eigenschappen die beschikbaar zijn via {$event.product}
kun
je op dezelfde manier aanspreken binnen {$item.product}
.
Klantgegevens
Via {$event.order.customer}
heb je toegang tot eigenschappen van de klant die
de winkelwagen heeft aangemaakt. Bijvoorbeeld:
Beste {$event.order.customer.name},
Meer informatie over de beschikbare klantgegevens vind je op de pagina over {$event.customer}
Let op: klantgegevens zijn alleen beschikbaar als de winkelwagen is gekoppeld aan een ingelogde klant.
Shipping assignments
In Magento is het mogelijk om één bestelling naar meerdere adressen te verzenden. Dit gebeurt via zogeheten shipping assignments. Elke shipping assignment bevat een verzendadres, verzendmethode en een lijst met producten die naar dat adres worden verzonden.
In Copernica zijn deze shipping assignments direct beschikbaar als top-level eigenschap van {$event.order.shipping_assignments}.
Voorbeeld
{foreach from=$event.order.shipping_assignments as assignment}
Verzendadres: {$assignment.shipping.address.firstname} {$assignment.shipping.address.lastname}
Verzendmethode: {$assignment.shipping.method}
Producten:
{foreach from=$assignment.items as item}
- {$item.name}
{/foreach}
{/foreach}
Voor een volledig overzicht van alle beschikbare velden kun je de Magento order API-documentatie raadplegen.