Add-on: Teillieferungen an verschiedene Lieferadressen
Das Add-on Teillieferungen ermöglicht es eine Teilmenge oder die gesamte Menge einer Warenkorbposition einer zusätzlichen
Lieferadresse zuzuordnen.
Ist das Modul aktiviert, kann man im Backen unter Add-ons → Teillieferungen die Funktionalität pro Shop aktivieren.
Warenkorb
Im Warenkorb können einzelnen Positionen eine oder mehrere Teillieferungen zugeordnet werden.
Versandkosten
Die Versandkosten werden anhand des Teilgewichtes (Versandkosten gewichtsbezogen) und der hinterlegten Versandkostentabelle berechnet.
Bei nicht gewichtsbezogenen Versandkosten wird der hinterlegte Versandkostenpreis pro Lieferadresse angewendet.
Wenn man für eine Versandart einen festen Betrag pro Teillieferung berechnen möchte kann man die Option ‘Grundporto aus Versandkosten auf alle Teillieferungen anwenden.’ aktivieren und in der Versandart ein Grundporto angeben.
Mailtemplates
In den Mailtemplatevorlagen unter Shop → Aktionen → Vorlagen kann für in der Shopbetreibermail und der Bestellermail
folgender Code zur Anzeige der Teillieferungen verwendet werden.
{foreach from=$orderItem item=item}
<tr bgcolor="{cycle values="#ffffff,#fefefe"}" style="padding:3px;">
<td>{$item->name}
{if isset($item->personalizationDataShort)}
<br>
<small>{$item->personalizationDataShort}</small>{/if}
</td>
<td>{if isset($item->articleId)}{$item->quantityValue}{/if}</td>
<td>€ {($item->total->getAmount()/100)|number_format:2}</td>
{if isset($item->remark)}
<td>{$item->remark}</td>
{/if}
</tr>
{if isset($item->partialDeliveries)}
{foreach from=$item->partialDeliveries item=partialDelivery}
<tr>
<td>
Teillieferung:<br>
{$partialDelivery->partialDeliveryAddress->company1}<br>
{$partialDelivery->partialDeliveryAddress->zip} {$partialDelivery->partialDeliveryAddress->town}<br>
{$partialDelivery->partialDeliveryAddress->street}<br>
</td>
<td colspan=99>
{$partialDelivery->quantity}
</td>
</tr>
{/foreach}
{/if}
{/foreach}
Für die Mails an Dienstleister unter Verwaltung → Dienstleister → bearbeiten kann
folgender Code zur Anzeige der Teillieferungen verwendet werden.
<table class="items" width="660" border="0">
<thead>
<tr>
<td style="border-color: #000; border-style: solid; border-width: 1px 0;">Pos.</td>
<td style="border-color: #000; border-style: solid; border-width: 1px 0;">Bezeichnung</td>
<td style="border-color: #000; border-style: solid; border-width: 1px 0;">Menge</td>
<td align="right" style="border-color: #000; border-style: solid; border-width: 1px 0;">Summe</td>
</tr>
</thead>
<tbody>
{assign var=pos value=1}
{foreach from=$orderItems key=orderItemKey item=orderItem}
<tr>
<td>{$pos++}</td>
<td>{$orderItem.s_desc}{if $cart[item].persdata}{$cart[item].persdata}{/if}</td>
<td>{$orderItem.s_qty}</td>
<td align="right">{($orderItem.s_ntotal/100)|number_format:2:',':'.'} €</td>
</tr>
{if isset($orderItem.partialDeliveries)}
{foreach from=$orderItem.partialDeliveries item=partialDelivery}
<tr>
<td>
Teillieferung:<br>
{$partialDelivery.partialDeliveryAddress.company1}<br>
{$partialDelivery.partialDeliveryAddress.zip} {$partialDelivery.partialDeliveryAddress.town}<br>
{$partialDelivery.partialDeliveryAddress.street}<br>
</td>
<td></td>
<td colspan=99>
{$partialDelivery.quantity}
</td>
</tr>
{/foreach}
{/if}
{/foreach}
</tbody>
</table>
Verfügbare Variablen
{$partialDelivery->orderItemId}
{$partialDelivery->type}
{$partialDelivery->quantity}
{$partialDelivery->shippingCost}
{$partialDelivery->shippingCostFormated}
{$partialDelivery->partialDeliveryAddress->company1}
{$partialDelivery->partialDeliveryAddress->company2}
{$partialDelivery->partialDeliveryAddress->company3}
{$partialDelivery->partialDeliveryAddress->name}
{$partialDelivery->partialDeliveryAddress->firstName}
{$partialDelivery->partialDeliveryAddress->lastName}
{$partialDelivery->partialDeliveryAddress->title}
{$partialDelivery->partialDeliveryAddress->street}
{$partialDelivery->partialDeliveryAddress->zip}
{$partialDelivery->partialDeliveryAddress->town}
{$partialDelivery->partialDeliveryAddress->country}
{$partialDelivery->partialDeliveryAddress->countryCode}
{$partialDelivery->partialDeliveryAddress->email}
{$partialDelivery->partialDeliveryAddress->department}
{$partialDelivery->partialDeliveryAddress->telephone}
{$partialDelivery->partialDeliveryAddress->fax}
Ermittlung der Daten von Teillieferungen in der Rechnungsvorlage / Jobticket und Lieferschein
{assign var="partialOrderItemData" value=json_decode($item->getInfo('partialDelivery'))}
{foreach from=$partialOrderItemData item=partialOrderItemDataValue key=partialOrderItemDataKey}
{$partialOrderItemDataValue->orderItemId}
<br>
{$partialOrderItemDataValue->type}
<br>
{$partialOrderItemDataValue->quantity}
<br>
{$partialOrderItemDataValue->shippingCost}
<br>
{$partialOrderItemDataValue->shippingCostFormated}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->company1}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->company2}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->company3}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->name}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->firstName}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->lastName}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->title}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->street}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->zip}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->town}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->country}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->countryCode}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->email}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->department}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->telephone}
<br>
{$partialOrderItemDataValue->partialDeliveryAddress->fax}
<br>
{/foreach}
Backend
Im Backend können die Teillieferungen in der Einzelansicht der Bestellungen eingesehen werden