Magento Shipping Assignments
In Magento kan hetzelfde order naar meerdere adressen verzonden worden. Dit kan bijvoorbeeld gebeuren wanneer een klant in één bestelling producten bestelt en laat versturen naar verschillende locaties, zoals zijn eigen huis en kantoor. Om dit mogelijk te maken, gebruikt Magento zogenaamde shipping assignments.
Een order kan meerdere shipping assignments hebben, waarbij elk assignment een specifiek verzendadres en een set producten bevat die naar dat adres worden verzonden.
Normaal gesproken bevinden de shipping_assignments zich onder de extension_attributes in de Magento order-API. In Copernica zijn ze echter als een top-level eigenschap direct op de order-variabele geplaatst.
Dit maakt ze eenvoudiger te gebruiken in je templates en opvolgacties.
{$mywebshop.order.$id.shipping_assignments}
Handige variabelen
Alle velden uit de Magento API onder shipping_assignments zijn beschikbaar in Copernica. Voor een volledig overzicht van alle beschikbare velden en hun structuur, zie de officiële Magento documentatie over shipping_assignments onder extension_attributes → shipping_assignments.
Hier zijn enkele veelgebruikte variabelen die handig kunnen zijn in templates en opvolgacties:
- {$id.shipping_assignments.$index.items}: Een array van producten die naar dit adres verzonden worden.
- {$id.shipping_assignments.$index.shipping.address}: Het adres waar de bestelling naartoe verzonden wordt.
- {$id.shipping_assignments.$index.shipping.address.firstname}: De voornaam van de ontvanger.
- {$id.shipping_assignments.$index.shipping.address.lastname}: De achternaam van de ontvanger.
- {$id.shipping_assignments.$index.shipping.address.email}: Het e-mailadres van de ontvanger.
- {$id.shipping_assignments.$index.shipping.method}: De verzendmethode die gebruikt wordt voor deze verzending.
- {$id.shipping_assignments.$index.shipping.total.shipping_amount}: De totale verzendkosten voor deze verzending.
Voorbeeld
Omdat shipping_assignments een array is, kun je er eenvoudig doorheen itereren in je templates of opvolgacties. Zo kun je per verzendadres de bijbehorende producten en verzendinformatie tonen.
{foreach $mywebshop.order.shipping_assignments as $assignment}
Adres: {$assignment.shipping.address}
Ontvanger: {$assignment.shipping.address.firstname} {$assignment.shipping.address.lastname}
Verzendmethode: {$assignment.shipping.method}
Producten:
{foreach $assignment.items as $item}
- {$item.name}
{/foreach}
{/foreach}