Plugin Entwicklung - Artikel in den Warenkorb legen -> Warenkorb Gesamtsumme falsch

dercoderkm

Offizieller Service Partner
SPBanner
21. Dezember 2019
80
22
Firma
Made in Dortmund
Hallöchen,

ich habe folgendes Problem:

Mein Plugin hört auf die Hook 52 dort prüfe ich den Inhalt des Warenkorbs und je nachdem wenn Artikel XY vorhanden ist dann erstelle ist eine SpezialPos vom Typ "C_WARENKORBPOS_TYP_VERPACKUNG"
das klappt auch.
PHP:
        $_SESSION["Warenkorb"]->erstelleSpezialPos($count."x ".$ttArtikel->cName, $count, $ttArtikelPreis ,0, C_WARENKORBPOS_TYP_VERPACKUNG, false,false, "", false,0, $ttArtikel->kArtikel);

Das einzige problem ist wenn ich nun IM Warenkorb die Anzahl von Artikel XY ändere dann ändert er zwar natürlich auch die Anzahl an SpezialPos Artikel ABER der Preis vom Gesamten Warenkorb ist nicht richtig.
Hier ein Bild dazu:
Anmerkung 2020-06-11 203504.png

Wie man sieht müsste die Gesamtsumme 84€ betragen und nicht 80€. Nach einen Reload (F5) zeigt er den richtigen Preis. Was mache ich falsch?
 
Zuletzt bearbeitet:

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Hallo,
die Gesamtsumme für den Warenkorb wird in includes/letzterinclude.php berechnet und ins Template geschrieben. Der Aufruf von HOOK_WARENKORB_PAGE (52) erfolgt jedoch erst NACH diesem Aufruf, so dass ein Ändern des Warenkorbes für die Anzeige der Gesamtsumme(n) nicht (mehr) berücksichtigt wird. Du müsstest also am Ende die Smarty-Variablen WarenkorbWarensumme und WarenkorbGesamtsumme mittels
PHP:
$WarenkorbWarensumme[0]  = gibPreisStringLocalized($cart->gibGesamtsummeWarenExt([C_WARENKORBPOS_TYP_ARTIKEL], true));
$WarenkorbWarensumme[1]  = gibPreisStringLocalized($cart->gibGesamtsummeWarenExt([C_WARENKORBPOS_TYP_ARTIKEL], false));
$WarenkorbGesamtsumme[0] = gibPreisStringLocalized($cart->gibGesamtsummeWaren(true, true));
$WarenkorbGesamtsumme[1] = gibPreisStringLocalized($cart->gibGesamtsummeWaren(false, true));

$smarty->assign('WarenkorbWarensumme', $WarenkorbWarensumme)
       ->assign('WarenkorbGesamtsumme', $WarenkorbGesamtsumme)
neu berechnen. Wenn sich durch deine Änderungen auch Gewichte ändern, dann ist auch WarenkorbGesamtgewicht betroffen und muss neu berechnet werden.
 
  • Gefällt mir
Reaktionen: dercoderkm

dercoderkm

Offizieller Service Partner
SPBanner
21. Dezember 2019
80
22
Firma
Made in Dortmund
Danke dir @FPrüfer stimmt nachdem ich das neu berechnen lasse und per smarty zuweise passt es.
 

NeverGonnaNotDanceAgain

Neues Mitglied
6. November 2022
2
0
Hallöchen,

ich habe folgendes Problem:

Mein Plugin hört auf die Hook 52 dort prüfe ich den Inhalt des Warenkorbs und je nachdem wenn Artikel XY vorhanden ist dann erstelle ist eine SpezialPos vom Typ "C_WARENKORBPOS_TYP_VERPACKUNG"
das klappt auch.
PHP:
        $_SESSION["Warenkorb"]->erstelleSpezialPos($count."x ".$ttArtikel->cName, $count, $ttArtikelPreis ,0, C_WARENKORBPOS_TYP_VERPACKUNG, false,false, "", false,0, $ttArtikel->kArtikel);

Das einzige problem ist wenn ich nun IM Warenkorb die Anzahl von Artikel XY ändere dann ändert er zwar natürlich auch die Anzahl an SpezialPos Artikel ABER der Preis vom Gesamten Warenkorb ist nicht richtig.
Hier ein Bild dazu:

Wie man sieht müsste die Gesamtsumme 84€ betragen und nicht 80€. Nach einen Reload (F5) zeigt er den richtigen Preis. Was mache ich falsch?
Auch wenn das Thema schon ein paar Tage alt ist, ist mein "Problem" gerade, dass ich den "erstellespezialPos" Befehl nicht zum laufen bringen. Andauernd kommt ein 500 Error...

Könnt ihr mir da weiterhelfen, wie ich den Code verpacken muss damit er läuft?
 

ASBoxxco

Aktives Mitglied
7. Mai 2021
12
9
Hallöchen,

bei mir gibt es ein kleines Problemchen:

wenn ich ein Speziellen Artikel in den Warenkorb hinzufüge (was auch funktioniert), habe ich das Problem, wenn ich dann einen anderen Artikel hinzufüge, dieser Spezielle nicht mehr hinterlegt ist?
Der verschwindet dann einfach? Warum?

Muss ich noch etwas da beachten?
Nutze die Shop Version 5.2.2
 

Ähnliche Themen