Magento events: {$event.product}

In sommige opvolgacties die gekoppeld zijn aan winkelwagen-events, is er een product beschikbaar via de variabele {$event.product}. Deze variabele verwijst naar het product uit de betreffende winkelwagen.

Voorbeelden van events waarbij {$event.product} 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.product.name}: de naam van het product
  • {$event.product.sku}: de SKU van het product
  • {$event.product.image}: de URL met de afbeelding van het product
  • {$event.product.url}: de URL van het product
  • {$event.product.short_description}: korte beschrijving
  • {$event.product.description}: de uitgebreide beschrijving
  • {$event.product.price}: de prijs van het product
  • {$event.product.created_at}: de datum waarop het product is aangemaakt

Voorbeeld:

Product {$event.product.name} is toegevoegd aan je winkelwagen.

Toegang via andere variabelen

In een aantal opvolgacties is {$event.product} niet direct beschikbaar, maar kun je wel bij de productgegevens via een lijst van items. Deze items bevatten elk een product-object met dezelfde eigenschappen als {$event.product}.

Voorbeeld 1: via {$event.items}

In events zoals Cart-Update of Order-Create bevat {$event.items} een lijst van items. Elk item heeft een eigen product-object, waarmee je toegang hebt tot alle bekende producteigenschappen:

{foreach from=$event.items as item}
  - {$item.product.name}
{/foreach}

De structuur van {$item.product} is gelijk aan {$event.product}, en je kunt dezelfde variabelen gebruiken.

Voorbeeld 2: via {$event.cart.items}

Als {$event.cart} beschikbaar is, kun je ook de items binnen de winkelwagen gebruiken. Ook hier bevat elk item een product-object:

{foreach from=$event.cart.items as item}
  - {$item.product.name}
{/foreach}