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

Belushi

Gut bekanntes Mitglied
5. September 2019
127
11
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 Shop 5.7.2 - JTL PayPal Checkout legt alles lahm JTL-Shop - Fehler und Bugs 4
PayPal Zahlungsabgleich geht nicht JTL-Wawi 1.11 24
Neu Rechnungen zeigen Paypal Text an, obwohl er in der Vorlage nicht ausgewählt ist JTL-Wawi 2.0 3
Neu PayPal Transaktionsversuche – Wie hoch sind eure Ablehnungsquoten? Allgemeine Fragen zu JTL-Shop 1
Neu Paypal 2.2.1; Fehler "Der Zahlungsanbieter hat eine Anmeldung gefordert" Plugins für JTL-Shop 0
Neu Paypal Abgleich - Schnittstelle geändert- Wawi Update Erforderlich ! JTL-Wawi - Fehler und Bugs 12
Neu Apple Pay über PayPal nicht zu verbinden (Die Domain-Verifizierungsdatei wurde nicht gefunden.) Technische Fragen zu Plugins und Templates 26
Neu JTL PayPal Checkout 2.3.0 ... 1. Update klappte nicht, 2. Update nun Eintrag doppelt Plugins für JTL-Shop 24
Neu PayPal Rundungsfehler automatischer ungewollter Rabatt in PayPal Zahlung JTL-Shop - Fehler und Bugs 19
Neu Seltsamer Fehler bei PayPal-Checkout: "Warenkorb enthielt Vaterartikel..." JTL-Shop - Fehler und Bugs 2
Neu PayPal Plugin wirft Fehler auf einmal wegen telefonnummer JTL-Shop - Fehler und Bugs 3
PayPal Abgleich funktioniert nicht (JTL 1.9.8.0) JTL-Wawi 1.9 23
Neu PayPal Käufername stimme nicht mit Liederadresse überein! Business Jungle 0
Neu Alle PayPal Zahlungsarten seit gestern verschwunden! Plugins für JTL-Shop 3
PayPal Zahlungsabgleich plötzlich nich tmehr möglich JTL-Wawi 1.11 0
Neu Lieferadresse in PayPal-Transaktion weicht von der in der Wawi ab Plugins für JTL-Shop 0
Neu Muss bei DHL Express ebenfalls was geändert werden, aufgrund DHL 4.0? User helfen Usern - Fragen zu JTL-Wawi 1
Versandart Standartpaketversand mit Express JTL-Wawi 1.10 2
Neu Night Star Express Anbindung JTL-ShippingLabels - Ideen, Lob und Kritik 10

Ähnliche Themen