Neu Frage: Hook für Versandpreis Manipulation

OmKFJ

Aktives Mitglied
2. August 2016
22
0
Hi,

ich habe zwei Versandklassen:

  • DHL Paket (Für bestimmte Artikel) (5,90 €)
  • Selbstabholer (Für alle Artikel) (kostenlos)

Kunde legt einen Artikel mit der Versandklasse "DHL Paket" im Warenkorb. Nun stehen ihm die zwei Versandklassen zur Verfügung.

Ich möchte mittels einen Plugin einen Zuschlag für die Versandklasse "DHL Paket" addieren z.b. 10,00 €.

Dafür benutze ich diesen Hook:
HOOK_TOOLSGLOBAL_INC_BERECHNEVERSANDPREIS

und in meiner .php Datei steht folgendes:
PHP:
$args_arr['fPreis'] += 10;

Wennn der Kunde im Warenkorb den Versand ermittelt, dann sieht das so aus:

  • DHL Paket: 15,90 € (richtig)
  • Selbstabholer 10,00 € (falsch)
Ich möchte quasi den Zuschlag nur für die Versandklasse "DHL Paket" festlegen. Wie mache ich das?

Danke
 

NETZdinge.de

Sehr aktives Mitglied
7. April 2010
2.665
420
Bekommst du über $args_arr nicht auch den Namen der Versandart? Dann kannst du das ja mit einer Anweisung lösen...

Ansonsten kannst du ja auch abfragen, wie der Eingangspreis ist. Nur wenn er über Null ist, dann addierst du die zehn Euro…
 
  • Gefällt mir
Reaktionen: OmKFJ

OmKFJ

Aktives Mitglied
2. August 2016
22
0
Bekommst du über $args_arr nicht auch den Namen der Versandart? Dann kannst du das ja mit einer Anweisung lösen...

Ansonsten kannst du ja auch abfragen, wie der Eingangspreis ist. Nur wenn er über Null ist, dann addierst du die zehn Euro…

Ja, ich habe es zuerst natürlich versucht das auszugeben, doch bekam nur "NULL". Erst dann habe ich es bemerkt, dass dieser Array bzw. Hook erst initialisiert wird, nachdem man auf dem Button "Versand ermitteln" geklickt hat oder im Bestellprozess Step 3 "Versandart" ist.

Lieben Dank
 

OmKFJ

Aktives Mitglied
2. August 2016
22
0
Ich möchte das Gesamtgewicht des Warenkorbs manipulieren. Technisch habe ich das lösen können, jedoch meine Änderungen werden nicht übernommen.
Hier mein snippet:
PHP:
$cart = $_SESSION["Warenkorb"];
$cart->WarenkorbGesamtgewicht = 100;
    $smarty->assign("WarenkorbGesamtgewicht", 100);

Laut dem Debugger ist das Gesamtgewicht tatsächlich 100. Jedoch wird dieser Wert für die Ermittlung der Versandkosten anhand des neuen Gewichts nicht berücksichtigt und stattdessen wird der wert aus der Funktion "getWeight(") "classes\class.JTL-Shop.Warenkorb.php" übernommen. Ich dachte mir, es liegt eventuell am Hook, dass meine Änderungen überschrieben werden?

Danke für die Hilfe
 
Zuletzt bearbeitet:

Ähnliche Themen