Mit welchem Event Versandkostenaufschläge per Plugin realisieren?

Hallo,

kann mir jemand sagen, mit welchem Event ich am besten die von Shopware berechneten Versandkosten nachträglich modifizieren kann?
Ich möchte abhängig von den Artikeln im Warenkorb Versandkostenaufschläge hinzufügen und an der bestehenden Versandkostenlogik nichts ändern.

Bisher habe ich nur das Event Shopware_Modules_Admin_sGetPremiumDispatchSurcharge_FilterSurcharge in \sAdmin::sGetPremiumDispatchSurcharge() ausgemacht.

Rein von der Bezeichnung und der Position im Shopware-Code schien mir das als geeignete Stelle, aber wenn ich hier den zurückgegebenen Wert modifiziere, dann wird das als Warenkorbrabatt im Warenkorb ausgewiesen.

Über die Antwort von @arnebecker‍ im Thread https://forum.shopware.com/discussion/comment/209255/#Comment_209255 bin ich nun selbst auf die Lösung gekommen:

public static function getSubscribedEvents()
{
    return [
        'sAdmin::sGetPremiumShippingcosts::after' => 'afterGetShippingcosts',
    ];
}

public function afterGetShippingcosts(\Enlight_Hook_HookArgs $args)
{
    $shippingCosts = $args->getReturn();

    // eigene Aufschläge berechnen und zu den Werten im Array addieren
    $additionalShippingCosts = 0;

    $shippingCosts['brutto'] += $additionalShippingCosts;
    $shippingCosts['netto'] = round($shippingCosts['brutto'] * 100 / (100 + $shippingCosts['tax']), 2);

    return $shippingCosts;
}

 

1 Like