Gelöst JLT-Paypal: Express-Button legt Artikel in Warenkorb statt zu PP weiterzuleiten

Belushi

Aktives Mitglied
5. September 2019
61
5
Berlin
JTL- Shop 4.6.12, PayPal-Plugin 1.10, EVO mit Child-Template

Wir richten gerade in einem neuen Shop PayPal ein.
PP-Plus funktioniert (Sandbox) wie erwartet; Express spielt uns aber einen bösen Streich:

Auf der Artikel-Detailseite löst ein Klick auf den Express-Button die Aktion "in den Warenkorb legen" aus, statt zu PP weiterzuleiten!
Die Einbindung erfolgt als <button type="sumbit">, offenbar führt das zu einem Konflikt.
Zwar hat der Button einen value='2' und nicht value='In den Warenkorb', und der name ist natürlich auch anders (geprüft mit Inspektor) , aber es wird trotzdem die Warenkorbfunktion ausgelöst.

Hatte das Phänomen schon mal jemand?

##################################################
EDIT: Vermutliche Lösung gefunden!

Der Express-Button scheint nicht richtig funktionieren, weil wir auf der Detailseite den Hack für den Popup-Warenkorb (wie auf Kategorieseite) verwenden.
Verantwortlich für das PopUp ist (neben einer kleinen Änderung an der jtl.basket.js, die auch bestehen bleiben muss!) das hinzugefügte Attribut data-toggle="basket-add" in <form id="buy_form">. Das Attribut muss komplett entfernt werden, bevor der Submit ausgelöst wird.

Da das mit dem vom Plugin eingeblendeten Button natürlich nicht geht, haben wir den Button 'nachgebaut' und fügen ihn manuell mitsamt kleinem Skript unter den Warenkorb ein. Im Plugin muss die Einstellung für "Button auf Artikelseite anzeigen" dann natürlich auf 'nein' stehen.

Wer's auch nachbauen will, hier der Code:

Code:
  <div>
    <button id="pp-Express" name="jtl_paypal_redirect" type="button" value="2" class="paypalexpress btn-ppe-article"><img src="{$ShopURL}/includes/plugins/jtl_paypal/version/110/frontend/images/buttons/de/checkout-logo-medium-alt-de.png" alt="PayPal-Express"></button>  
 
    {literal}
               <script>
                    $(document).ready( function() {
                        $('#pp-Express').click(function(){
                            $('#buy_form').removeAttr('data-toggle');   // .attr('data-toggle','') reicht nicht!
                            $(this).prop('type','submit');
                            // $('#buy_form').submit();    // ueberfluessig; click() ist noch gueltig. Falls  nicht, "//" vorne entfernen.
                        });
                    });
               </script>
     {/literal}
  </div>

Den Code für den Button haben wir per Inspektor aus dem Browser geklaut. Er hat eine ID bekommen, und der type wurde von submit in button geändert. Es soll ja gerade kein Submit ausgeführt werden, sondern unser Skript.
Der type muss nach dem Löschen des Attributs aber wieder auf submit geändert werden, weil der value="2" sonst im $_Post nicht gefunden wird. Neckischer Weise löst die Änderung des Types (bei uns) dann auch sofort den Submit aus; heißt wohl, der click()-Event ist noch gültig.

Beim IMG im Button muss evtl. Eure Versionsnummer .../version/110/... angepasst werden.

Wie beim Lotto: Alle Angaben ohne Gewähr ;)
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Neu Änderung des Auftrags nach Zahlungseingang Paypal Arbeitsabläufe in JTL-Wawi 7
Neu PayPal Checkout: Kunden verwirrt wegen Zahlungsart Name Plugins für JTL-Shop 0
Neu Erledigt - Plugin PayPal Checkout, Update auf 1.4.0, Komplettabsturz Plugins für JTL-Shop 1
Neu Paypal Gebühren neue AGB Allgemeine Fragen zu JTL-Shop 1
Neu PayPal Checkout mit Apple Pay und Google Pay Plugins für JTL-Shop 1
Neu JTL-Shop 5 Paypal Zahlung 30 Tage Zahlungsziel Allgemeine Fragen zu JTL-Shop 6
Neu Paypal Plugin erzeugt "Quirks Mode" Betrieb / Pflege von JTL-Shop 0
Neu PayPal Checkout - Bestellungen werden nicht übertragen! User helfen Usern - Fragen zu JTL-Wawi 0
Neu PayPal Checkout 1.3.0 Log Notice Mindestbestellwert Plugins für JTL-Shop 1
Neu PayPal Checkout - Beschreibung der Kaufdetails Plugins für JTL-Shop 0
PayPal - Consent-Manager Einrichtung JTL-Shop5 0
PayPal Checkout Personalisieren Einrichtung JTL-Shop5 6
Neu neues Paypal-Checkout (plugin) verhindert Bestellung - keine Zahlungsarten angezeigt (hängt) Betrieb / Pflege von JTL-Shop 8
Neu PayPal - Benachrichtungen über Zahlung -> EMail. Wo kann man den Betreff bearbeiten? User helfen Usern - Fragen zu JTL-Wawi 6
Neu Nach Migration auf JTL Shop 5 fehlerhafte PayPal Zahlungsmitteilungen Allgemeine Fragen zu JTL-Shop 0
Neu Wie importiere ich die Zahlungs-ID für meine eigene benutzerdefinierte Zahlung, wie es andere Anbieter wie Paypal und Molli Payments in Shopware 6? Onlineshop-Anbindung 0
Neu Paypal ... wo ist die normale Paypal-Auswahl? Plugins für JTL-Shop 6
Neu Erstinstallation JTL WaWi 1.8.12 - heruntergeladen wird SQL Express 2017 _statt_ der empfohlenen 2022 Version Installation von JTL-Wawi 8
Neu MS SQL Server 2022 oder MS SQL Server 2022 Express? Installation von JTL-Wawi 8
Neu MS SQL 14 Express wird langsam voll. Welche Lienzen benötigen wir? Bitte um Hilfe Eigene Übersichten in der JTL-Wawi 27
Neu SQL Server Express 2017 auf 2022 Update Installation von JTL-Wawi 10
Neu SQL 2017 auf 2022 updaten (express) User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL und DHL Express in der Schweiz Gelöste Themen in diesem Bereich 8

Ähnliche Themen