# Eigenes Versand-Modul Plugin

**URL:** <https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [29. Juli 2013 um 11:19 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691 "2013-07-29T11:19:30Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![keksterrrrr](https://avatars.discourse-cdn.com/v4/letter/k/45deac/32.png) [@keksterrrrr](https://forum.shopware.com/u/keksterrrrr)\
**Post date:** [29. Juli 2013 um 11:19 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691/1 "2013-07-29T11:19:30Z")

</div>

Hallo allerseits, ich möchte gerne UPS als Versandart anbieten und sämtliche Preise live aus der UPS XML Schnittstelle holen. Dazu kann ich also keine “standard” Versandart anlegen, sondern muss tatsächlich die Berechnung der Versandkosten “auslagern” und über die UPS Schnittstelle abfragen. Nun frage ich mich, wie ich das besten lösen kann… Mein momentaner Ansatz: ich habe eine standard Versandart UPS angelegt und versuche die Versandkostenberechnung zu überschreiben: ` $this-\>subscribeEvent( "sAdmin::sGetPremiumShippingcosts::after", "afterGetPremiumShippingcostsHook" ); ` Die Funktion sGetPremiumShippingcosts() gibts dabei folgende Werte zurück: ` Array ( [value] =\> 10.00 [factor] =\> 4.00 [brutto] =\> 10 [surcharge] =\> 0 [tax] =\> 19 [netto] =\> 8.4 ) ` Prinzipiell könnte ich nun dieses Array einfach manipulieren und den Preis (value etc) entsprechend anpassen. Blöderweise reicht aber anscheinend ein hook an dieser Stelle nicht. Auch wenn ich spaßeshalber value, brutto und netto einfach mal verdoppel, dann zeigt mir Shopware die original Versandkosten an. Ich vermute, dass die Berechnung an einer anderen Stelle zusätzlich passiert und dann mit diesem Rückgabewert verglichen wird… Meine Vorgehensweise dabei: ` $bla = $arguments-\>getReturn(); $bla['value'] = (float) $bla['value'] \* 2; $bla['butto'] = (float) $bla['butto'] \* 2; $bla['netto'] = (float) $bla['netto'] \* 2; return $arguments-\>setReturn( $bla ); ` Hinzu kommt, dass die Postleitzahl (die ich für die UPS Schnittstelle brauche) in sGetPremiumShippingcosts() nirgendswo abgefragt wird. Wenn hier jemand eine Idee hat, wie ich am besten an die PLZ komme, dann würde mir das zusätzlich sehr helfen 🙂 Fazit: weiß jemand, wie ich die Berechnung der Versandkosten korrekt überschreibe? Vielen Dank & Gruß

---

<div class="post-metadata">

**Author:** ![keksterrrrr](https://avatars.discourse-cdn.com/v4/letter/k/45deac/32.png) [@keksterrrrr](https://forum.shopware.com/u/keksterrrrr)\
**Post date:** [31. Juli 2013 um 15:13 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691/2 "2013-07-31T15:13:43Z")

</div>

Hallo, hat noch nie jemand probiert die Berechnung der Versandkosten auszulagern? Jeder Tipp würde mir helfen 🙂 Vielen Dank & Gruß

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/2/9/29c7587ba660f00e4995d1743162782e5d6d8653.svg) [@system](https://forum.shopware.com/u/system)\
**Post date:** [9. August 2013 um 15:59 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691/3 "2013-08-09T15:59:11Z")

</div>

Hallo, vielleicht ein wenig spät, aber hier ein kleiner Fehler: ` $bla['butto'] = (float) $bla['butto'] \* 2;` Da fehlt ein “r” (brutto)! ` $bla['brutto'] = (float) $bla['brutto'] \* 2;` Viele Grüße Robert

---

<div class="post-metadata">

**Author:** ![keksterrrrr](https://avatars.discourse-cdn.com/v4/letter/k/45deac/32.png) [@keksterrrrr](https://forum.shopware.com/u/keksterrrrr)\
**Post date:** [10. August 2013 um 15:45 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691/4 "2013-08-10T15:45:02Z")

</div>

Ich werd bekloppt… Das war der Fehler. Besten Dank! Gruß

---

<div class="post-metadata">

**Author:** ![VolkerSchroder](https://avatars.discourse-cdn.com/v4/letter/v/4da419/32.png) [@VolkerSchroder](https://forum.shopware.com/u/VolkerSchroder)\
**Post date:** [10. August 2013 um 16:11 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691/5 "2013-08-10T16:11:13Z")

</div>

Hallo keksterrrr, wir würden auch gerne auf die UPS Schnittstelle zur Versandkostenberechnung zurückgreifen. Kannst Du mir etwas genauer sagen was du wo geändert hast? Danke. 🙂

---

<div class="post-metadata">

**Author:** ![keksterrrrr](https://avatars.discourse-cdn.com/v4/letter/k/45deac/32.png) [@keksterrrrr](https://forum.shopware.com/u/keksterrrrr)\
**Post date:** [10. August 2013 um 18:50 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691/6 "2013-08-10T18:50:54Z")

</div>

Hmmmm prinzipiell so, wie ich es anfangs geschrieben hatte: ` private function installSubscribeEvents() { $this-\>subscribeEvent( "sAdmin::sGetPremiumShippingcosts::after", "afterGetPremiumShippingcostsHook" ); } public function afterGetPremiumShippingcostsHook( Enlight\_Hook\_HookArgs $arguments ) { $return = $arguments-\>getReturn(); $return['value'] = 9.99; $return['brutto'] = 9.99; $return['netto'] = round($return['brutto']\*100/(100+$return['tax']),2); $arguments-\>setReturn($return); } ` Gruß

---

<div class="post-metadata">

**Author:** ![mmmichael](https://avatars.discourse-cdn.com/v4/letter/m/ac91a4/32.png) [@mmmichael](https://forum.shopware.com/u/mmmichael)\
**Post date:** [11. August 2013 um 13:44 UTC](https://forum.shopware.com/t/eigenes-versand-modul-plugin/14691/7 "2013-08-11T13:44:43Z")

</div>

[quote=„keksterrrrr“]Ich werd bekloppt… Das war der Fehler. Besten Dank! Gruß[/quote] Kenne solche Fehler zu gut. Da wär es doch ein Segen gewesen das php Errorlevel höher gesetzt zu haben 😉
