Neu JTL SHop - loescheWarenkorbPositionen() - löscht unter umständen nicht

broesHPB

Neues Mitglied
9. Dezember 2020
7
1
Betrifft: 4.06 (Build: 17)[ICODE] - [ICODE]includes/warenkorb_inc.php - loescheWarenkorbPositionen():

Ist-Zustand:
Es wird return benutzt.

PHP:
foreach ($nPos_arr as $nPos) {
    //Kupons bearbeiten
    if (!isset($_SESSION['Warenkorb']->PositionenArr[$nPos])) {
        return;
    }
    if ($_SESSION['Warenkorb']->PositionenArr[$nPos]->nPosTyp != C_WARENKORBPOS_TYP_ARTIKEL &&
        $_SESSION['Warenkorb']->PositionenArr[$nPos]->nPosTyp != C_WARENKORBPOS_TYP_GRATISGESCHENK
       ) {
        return;
    }
    $cUnique = $_SESSION['Warenkorb']->PositionenArr[$nPos]->cUnique;
    // Kindartikel?
    if (strlen($cUnique) > 0 && $_SESSION['Warenkorb']->PositionenArr[$nPos]->kKonfigitem > 0) {
        return;
    }
    executeHook(HOOK_WARENKORB_LOESCHE_POSITION, [
        'nPos'     => $nPos,
        'position' => &$_SESSION['Warenkorb']->PositionenArr[$nPos]
    ]);

    if (class_exists('Upload')) {
        Upload::deleteArtikelUploads($_SESSION['Warenkorb']->PositionenArr[$nPos]->kArtikel);
    }

    $cUnique_arr[] = $cUnique;

    unset($_SESSION['Warenkorb']->PositionenArr[$nPos]);
}

Soll-Zustand
Es wird continue benutzt.

PHP:
foreach ($nPos_arr as $nPos) {
    //Kupons bearbeiten
    if (!isset($_SESSION['Warenkorb']->PositionenArr[$nPos])) {
        continue;
    }
    if ($_SESSION['Warenkorb']->PositionenArr[$nPos]->nPosTyp != C_WARENKORBPOS_TYP_ARTIKEL &&
        $_SESSION['Warenkorb']->PositionenArr[$nPos]->nPosTyp != C_WARENKORBPOS_TYP_GRATISGESCHENK
       ) {
        continue;
    }
    $cUnique = $_SESSION['Warenkorb']->PositionenArr[$nPos]->cUnique;
    // Kindartikel?
    if (strlen($cUnique) > 0 && $_SESSION['Warenkorb']->PositionenArr[$nPos]->kKonfigitem > 0) {
        continue;
    }
    executeHook(HOOK_WARENKORB_LOESCHE_POSITION, [
        'nPos'     => $nPos,
        'position' => &$_SESSION['Warenkorb']->PositionenArr[$nPos]
    ]);

    if (class_exists('Upload')) {
        Upload::deleteArtikelUploads($_SESSION['Warenkorb']->PositionenArr[$nPos]->kArtikel);
    }

    $cUnique_arr[] = $cUnique;

    unset($_SESSION['Warenkorb']->PositionenArr[$nPos]);
}
Hintergrund
Wir nutzen diese Methode und haben festgestellt, dass unter bestimmten Bedingungen, in der oben dargestellten Schleife, statt die betreffende Warenkorb-Position zu überspringen, gleich direkt aus der gesamten Funktion gesprungen wird und somit weitere zu löschende Warenkorbpositionen ignoriert werden.

Wir haben das jetzt, wie im Soll-Zustand für uns erstmal gefixt, würden hierzu Eurerseits aber noch Feedback bekommen wollen, warum da return statt continue genutzt wird (kann ja sein, dass dies einen driftigen Grund hat).

Freundliche Grüße
Hape
 
Ähnliche Themen
Titel Forum Antworten Datum
JTL-Shop 5.0.1 mit Wawi 1.5.44.0 verbinden - Shop URL verweist nicht auf gültigen Shop Einrichtung JTL-Shop5 0
Spezialseite "Kontakt" nach Upgrade von JTL Shop 4 auf 5 Einrichtung JTL-Shop5 1
Neu [JTL SHOP 5] Sitemap kann nicht automatisch erstellt werden JTL-Shop - Fehler und Bugs 3
Neu Internet Explorer + JTL Shop 5 = Bestellabschluss nicht möglich JTL-Shop - Fehler und Bugs 0
Neu JTL Software + Shop + Ebay/Amazon lohnt sich das? Starten mit JTL: Projektabwicklung & Migration 3
Neu JTL SHOP 5 NOVA - keine Preisspanne, kein ab Technische Fragen zu Plugins und Templates 0
Neu Upgrade auf ebay-Shop / Verhalten in JTL? eBay-Anbindung - Ideen, Lob und Kritik 1
Neu Automatische Abmeldung aus der JTL Shop Administration verhindern Allgemeine Fragen zu JTL-Shop 2
Neu [JTL-Shop 5] Mediendateien anzeigen unter Artikelbeschreibung - 2 Column Layout bei zwei Mediendatein? JTL-Shop - Ideen, Lob und Kritik 0
Neu [JTL-Shop 5] OPC Portlets auch in Tabs ermöglichen, die in der Wawi als Attribute angelegt sind (tab1 name, tab2 name, etc) JTL-Shop - Ideen, Lob und Kritik 0
Neu Ladezeit Shop - Plesk --> JTL 5 (STRATO) JTL-Shop - Fehler und Bugs 5
Neu PayPal Ratenzahlung Anbindung an JTL-Shop 4 User helfen Usern - Fragen zu JTL-Wawi 1
Neu Transferring the customer account credit from shop to JTL WAWI User helfen Usern - Fragen zu JTL-Wawi 5
Neu JTL Shop 5 - Consentmanager.de Technische Fragen zu Plugins und Templates 1
Neu Passwort Sicherheit im JTL Shop User helfen Usern - Fragen zu JTL-Wawi 3
Neu PayPal Plus wird GAR nicht anzeigt - JTL Shop 4 JTL-Shop - Fehler und Bugs 0
Neu JTL Shop 5.0.1 Nova-Template Slick Slider Bildgröße fehlerhaft JTL-Shop - Fehler und Bugs 1
Neu JTL-Shop 5.0 - Release 5.0.2 Upgrade JTL-Shop4 auf JTL-Shop5 3
Kostenlose Einsteigerschulung: Tag 7 Teil 1: Einführung in JTL-Shop 5 mit OPC Messen, Stammtische und interessante Events 0
Neu JTL Shop 5 Artikelanzeigefilter Betrieb / Pflege von JTL-Shop 0
Neu JTL Shop 5 OPC Akkordeon: Reihenfolge der Gruppen JTL-Shop - Ideen, Lob und Kritik 1
Neu JTL Shop 5 Unterkategorien in der Navileiste Allgemeine Fragen zu JTL-Shop 4
Neu JTL Shop 4.6.17 Fatal Error bei Artikelexport JTL-Shop - Fehler und Bugs 2
Neu Problem: Wie die Versandarten aus dem JTL Shop mit den WaWi Versandarten verknüpfen? User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL Shop 5 PayPal Express mit aktiviertem Cache JTL-Shop - Fehler und Bugs 1
Neu Freelancer für JTL Shop 5 Template Anpassungen gesucht Dienstleistung, Jobs und Ähnliches 0
Neu Plugin Hinweis Fenster JTL Shop 4 Allgemeine Fragen zu JTL-Shop 1
Neu Linkfarbe im Header und Footer ändern - JTL Shop 5? Allgemeine Fragen zu JTL-Shop 7
Neu JTL Shop 5 NOVA: Child-Datei für Preisanzeige ohne Rabatt gesucht Dienstleistung, Jobs und Ähnliches 0
Neu JTL Shop 5 Warnungen in der Console JTL-Shop - Fehler und Bugs 2
Neu JTL Shop 5 NOVA: Anmeldebutton soll gegen anderes Icon getauscht werden Templates für JTL-Shop 1
Neu JTL Shop 4 - Versandart Abholung nur Barzahlung -> Kunde kann trotzdem mit PayPal zahlen JTL-Shop - Fehler und Bugs 2
Neu JTL Shop 5 Theme Editor Nova Template Farbe Buttons Templates für JTL-Shop 5
Zustimmung der Weitergabe der eMail an Versanddienstleister im JTL Shop 5.0 Einrichtung JTL-Shop5 4
Neu Artikel im JTL-Shop nicht sichtbar... User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL Shop 5 NOVA Footer Textfarbe Templates für JTL-Shop 3
Neu JTL Shop 5 PayPal Problem JTL-Shop - Fehler und Bugs 0
JTL Shop 5 unter "localhost" Fehler beim Setzen des Cookies Einrichtung JTL-Shop5 0
Neu Umzug JTL shop 5 auf anderen Server, gleiche Domain Installation / Updates von JTL-Shop 9
Neu JTL-Shop 5 Product Stream müsste verbessert werden JTL-Shop - Ideen, Lob und Kritik 1
Neu Jtl Shop Filter Allgemeine Fragen zu JTL-Shop 1
Neue Standard Schriftart dem JTL Shop 5 hinzufügen Einrichtung JTL-Shop5 1
Neu Export Staffelmenge und Staffelpreise aus dem JTL Shop 4 Allgemeine Fragen zu JTL-Shop 0
Neu Wie kann ich <meta name="google-site-verification" content="" /> in Head Bereich einfügen? JTL Shop Version 4.6 Allgemeine Fragen zu JTL-Shop 2
Neu JTL Shop "Auf Lager" Sticker ausblenden Allgemeine Fragen zu JTL-Shop 1
Neu Wawi Datenabgleich mit JTL Shop 5.0.1 nicht möglich - Fehler 8 JTL-Wawi - Fehler und Bugs 0
Neu Jtl Shop Kategorie Seiten Top Angebote/ Unsere Bestseller ausschalten Allgemeine Fragen zu JTL-Shop 1
Neu JTL Shop 5 NOVA-Template Kategorien als Menüpunkt Technische Fragen zu Plugins und Templates 6
Neu Artikelbeschreibung in JTL Shop vereinheitlichen User helfen Usern - Fragen zu JTL-Wawi 5
Kundenimport von JTL Wawi zu JTL Shop 5 Einrichtung JTL-Shop5 0

Ähnliche Themen