Neu 5.5.0 wenn nur eine Versandart existiert, kein Checkout möglich...

elcheffe

Sehr aktives Mitglied
7. Juli 2010
574
74
... da die Zahlungsarten nicht angezeigt/geladen werden.

Bei zwei Versandarten muss man Eine aktiv auswählen. Dann werden auch die Zahlungsarten eingeblendet.


Und ohne Zahlungsart geht es natürlich auch im Checkout nicht weiter.
Workaround: zweite Versandart als Dummy anlegen.


Könnt ja mal checken ob ihr das reproduzieren könnt (Nova Template).
 

NoOne

Sehr aktives Mitglied
16. März 2024
330
111
HolyMoly... Ich hab schon herumgerätselt, was da passiert. Danke für den Tipp mit nur einer qualifizierten Versandart...

Fix dafür (funktioniert zumindest bei mir):
In der /includes/src/Router/Controller/CheckoutController.php die Funktion getActiveShippingMethod hiermit ersetzen:

PHP:
public function getActiveShippingMethod(array $shippingMethods): int
    {
        if (isset($_SESSION['Versandart'])) {
            $_SESSION['AktiveVersandart'] = (int)$_SESSION['Versandart']->kVersandart;
        } elseif (!empty($_SESSION['AktiveVersandart']) && GeneralObject::hasCount($shippingMethods)) {
        $active  = (int)$_SESSION['AktiveVersandart'];
            $reduced = \array_reduce($shippingMethods, static function ($carry, $item) use ($active) {
                return (int)$item->kVersandart === $active ? (int)$item->kVersandart : $carry;
            }, 0);
            if ($reduced !== (int)$_SESSION['AktiveVersandart']) {
                $_SESSION['AktiveVersandart'] = $this->getShippingService()->getFirstShippingMethod(
                    \array_map(
                        static function (stdClass $shippingMethod): ShippingDTO {
                            return ShippingDTO::fromLegacyObject($shippingMethod);
                        },
                        $shippingMethods
                    ),
                    $this->customerGroupID,
                    (int)($_SESSION['Zahlungsart']->kZahlungsart ?? '0'),
                )->kVersandart ?? 0;
            }
        } else {
            $_SESSION['AktiveVersandart'] = $this->getShippingService()->getFirstShippingMethod(
                \array_map(
                    static function (stdClass $shippingMethod): ShippingDTO {
                        return ShippingDTO::fromLegacyObject($shippingMethod);
                    },
                    $shippingMethods
                ),
                $this->customerGroupID,
                $_SESSION['Zahlungsart']->kZahlungsart ?? 0,
            )->kVersandart ?? 0;
        }
        
        return (int)$_SESSION['AktiveVersandart'];
    }

Hier ist genau markiert, was mit dem obigen Code ersetzt werden muss: https://gitlab.com/jtl-software/jtl...CheckoutController.php?ref_type=tags#L767-802

Technischere Erklärung:
Das ist die gleiche Funktion, aber vertauscht bei der Übergabe an getFirstShippingMehtod die Reihenfolge der Parameter. Ursprünglich wurde die Zahlungsart vor der Kundengruppe übergeben und das ist exakt falsch herum.

Ich hab das auch mit mehreren qualifizierten Versandarten getestet, das funktioniert nach der Änderung ebenfalls noch.
 
Ähnliche Themen
Titel Forum Antworten Datum
Teillieferung - Auf Pickliste nur, wenn Position komplett geliefert werden kann JTL-Wawi 1.9 0
Neu Bilderanzeige teilweise nur wenn der Nutzer angemeldet ist. Allgemeine Fragen zu JTL-Shop 1
Auftrag erweitern wenn Pickliste bereits vorhanden JTL-Wawi 1.9 0
In Diskussion E-Mail an die Produktion, wenn ein Kunde bezahlt hat. JTL-Workflows - Ideen, Lob und Kritik 3
Neu Fehler wenn Hersteller gesendet werden WooCommerce-Connector 9
In Diskussion Benachrichtigung wenn Auftrag nach Wahreneingang komplett Lieferbar. JTL-Workflows - Ideen, Lob und Kritik 1
Benachrichtigung wenn ausverkauft JTL-Wawi 1.9 3
Neu SHOP 5.4.1: Absturz beim Ändern von Mengen im Warenkorb, wenn Menge > Bestand JTL-Shop - Fehler und Bugs 1
Neu Kundendatenanonymisierung im Shop rückgängig machen, wenn in Wawi Storno rückgängig JTL-Shop - Fehler und Bugs 0
Neu JTL pos hängt sich auf und druckt keinen Bong mehr wenn ich ein Logo hinzufüge JTL-POS - Fehler und Bugs 1
Workflow in "Artikel" starten wenn ausgeliefert? JTL-Wawi 1.9 1
Neu BUG bei WORKFLOWS ... Programm/Script ausführen funktioniert nicht wenn Klammern im Pfad enthalten sind [Ticket#202502193603727] JTL-Wawi - Fehler und Bugs 10
Neu Druckvorlage Feld anzeigen wenn Datum größer als 5 Tage zu heute Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Umlagerung -> FBA: keine Kartons, nur Palette möglich? JTL-Wawi 1.9 1
Neu JTL WaWi (SQL Server)soll nur auf PC laufen User helfen Usern - Fragen zu JTL-Wawi 9
Neu JTL 1.9.8.0 Suchergebnisse werden nicht gefiltert, sondern nur gelb markiert ? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Ausliefern und Dokumente drucken nur mit WMS Mobile? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Gelöst SumUp am POS lässt nur Einstecken der Karte zu Allgemeine Fragen zu JTL-POS 1
Beantwortet Workflow: Zahlungserinnerung aus dem JTL Guid, versendet beim Testen mehr als nur 1 E-Mail JTL-Workflows - Fehler und Bugs 4
Neu Wie kann ich es so einstellen, dass die Verfügbarkeit schon in der Suche und der Kategorieübersicht angezeigt wird, anstatt nur auf der Artikelseite? Allgemeine Fragen zu JTL-Shop 0
DHL Höherversicherung nur in Abhängigkeit vom Warenwert JTL-Wawi 1.9 2
Neu Die Sprachvariable productInflowing nur das Datum anzeigen lassen Betrieb / Pflege von JTL-Shop 1
Neu Kindartikel zeigt nur Preis vom Vater an trotz Aufpreis Allgemeine Fragen zu JTL-Shop 0
Zebra ZD621 druckt nur halbe Etiketten, Druck bricht unten ab – Lösung? JTL-Wawi 1.9 6
Einen Artikel nur Teilweise gutschreiben, dabei mit Versandkosten verrechnen JTL-Wawi 1.7 0
Neu Amazon in EazyAuction einbinden - NUR FBM - FBA ausschließen Einrichtung und Installation von JTL-eazyAuction 2
Neu Artikeletikett - Barcode wird nicht oder nur teilweise gedruckt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Ist das möglich? Verwiegepflicht nur bei bestimmtem Aufträgen? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
SQL-Abfrage – Stückliste-Artikel ausblenden, nur einzelne Positionen anzeigen JTL-Wawi 1.9 3
In Diskussion Workflow email senden bei Bestandsänderung (nur Erhöhung) JTL-Workflows - Ideen, Lob und Kritik 41
Neu Greyhound Regel funktioniert nur Manuell User helfen Usern - Fragen zu JTL-Wawi 0
Neu Anzeige im Shop "nur lokaler Verkauf!" Betrieb / Pflege von JTL-Shop 2
Neu Doofinder kann keine Suchmaschine erstellen: Problem beim Versuch eine Suchmaschine zu erstellen Plugins für JTL-Shop 0
Neu Wie richte ich es so ein, dass alle vom Shop versendeten Mails per BBC an eine bestimmte Mail gehen (SMTP) Allgemeine Fragen zu JTL-Shop 1
Neu Gibt es eine Möglichkeit im On Page Composer einen Entwurf als Vollbild zu sehen? Ohne die Menüleiste des Editors nebendran? User helfen Usern - Fragen zu JTL-Wawi 6
Neu Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt User helfen Usern - Fragen zu JTL-Wawi 1
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt - Artikel JTL-Wawi 1.10 0
Neu Gleiche Artikel werden beim Kauf nicht als eine Auftragsposition zusammengefasst Otto.de - Anbindung (SCX) 0
Neu Wie läuft eine Bestellung ab und wie bekomme ich die Aufträge aus dem Shop in die Wawi übertragen? Betrieb / Pflege von JTL-Shop 0
Dateien Schreiben auf eine NAS JTL-Wawi 1.8 2
Neu Wie kann man PayPal-Kunden eine bestimmte Debitorennummer zuweisen? JTL Ameise - Eigene Exporte 16
Mehrere Rechnungskorrekturen auf eine Rechnung JTL-Wawi 1.7 9
Neu Wie kann ich dem Kunden eine Kopie des 80 mm breiten Kassenbons im DIN A4 Format zur Verfügung stellen? Fragen rund um LS-POS 11
Neu BUG: kann die neu erstellte Vorlage für eine Rechnung nicht editieren, WAWI stürzt ab JTL-Wawi - Fehler und Bugs 3
Neu Eine Erweiterung nach dem Binden im Admin-Bereich anzeigen. Templates für JTL-Shop 0

Ähnliche Themen