Paypal Plus, Scriptfehler?

Hallo liebe Forumsgemeinde,

ich habe da ein kleines Problem und hoffe, dass mir hier vielleicht jemand weiterhelfen kann. Ich habe diese Woche das Paypal Plus-Oxid-Modul installiert und da funktioniert soweit auch alles. Unsere Kundin hatte den Wunsch, dass die bisherigen Bezahlmöglichkeiten “Rechnung” und “Vorauskasse” nicht in der Paypal-“Paywall” erscheind, sondern so wie bisher - mit einem Radio-Button als Auswahlfeld. Auch das war soweit kein Problem.

Jetzt ist es nur so, dass bei der Bezahlmethode “Vorauskasse” bei Klick ein Info-Feld (dd-Tag) aufgeht, in dem u.a. die Bankverbindungsdaten drin stehen. Standardmäßig ist dieses Info-Feld per CSS auf “display:none” gesetzt und bei Klick auf den Radio-Button bekommt der dd-Tag per Javascript ein “display:block” verpasst.

Ist jedoch Paypal Plus als Bezahloption aktiv, dann hat ein untergeordneter Div-Container innerhalb des dd-Tags über irgendein Script den CSS-Style “display:none”, so dass die Texte, die sich innerhalb des div-Containers befinden, nicht angezeigt werden.

Beim dd-Tag funktioniert der “Wechsel” zwischen display:none und display:block weiterhin. Aber es hilft ja nichts, wenn der Div-Container darin immer auf display:none gestellt ist.

Weiß irgendwer, welches Skript dafür verantwortlich ist?

Ich nutze Oxid CE 4.10.3 mit dem Paypal-Plus-Modul von Oxid in Version 2.0.4

Gruß
Robert

schaus dir doch mal mit zB firebug an - so wie ich es verstehe, fehlt für den div ein z-index …

Das ist das PP-Modul. Das blendet via JavaScript alle nicht in die Paywall integrierten Zahlmethoden ein und aus (bzw. deren Beschreibungen etc.).

Lösung: entweder das Template umbauen oder Hand an das Modul legen.

@ patchwork.de:
z-index hat nichts mit der display-Eigenschaft zu tun sondern bezieht sich auf die position-Eigenschaft.

@ wolkenkrieger:
Zum Lösungsvorschlag: Das Modul kommt von Oxid (evtl. in Verbindung mit Paypal). Ich weiß, es ist kostenlos. Aber wenn ich ein Modul auf den Markt bringe, dann sollte es schon so funktionieren, dass es keine anderen Funktionen des Shops beeinträchtigt. Die Kaufoption “Vorkasse” befindet sich NICHT in der Paywall von Paypal und dennoch greift ein Script darauf zu und das darf einfach nicht der Fall sein.

Nun gut, ich suche weiter.

[QUOTE=rmoll;189605]und das darf einfach nicht der Fall sein.[/QUOTE]

Das sehe ich absolut genau so. Hat aber den eigentlichen Entwickler nicht daran gehindert, es so zu coden.

Ich habe vor exakt demselben Problem gestanden und mich schlussendlich für “meinen” Lösungsvorschlag entscheiden müssen, denn:

alternative Module von Drittanbietern sind, soweit ich das in Erfahrung bringen konnte, allesamt verschlüsselt. Und ich setze kein lebenswichtiges Modul in einem Shop ein, an das ich im Notfall nicht selber Hand anlegen kann (das mag jeder anders sehen, natürlich).

[QUOTE=wolkenkrieger;189607]Das sehe ich absolut genau so. Hat aber den eigentlichen Entwickler nicht daran gehindert, es so zu coden.
[/QUOTE]

Das ist natürlich richtig und ein Herumjammern und Lamentieren bringt ja auch nichts.
Ich würde das ja auch gerne selber fixen, aber ich finde aktuell halt nur nicht die Stelle mit dem Script. Kannst du mir da weiterhelfen? Oder anders gefragt: wie sieht dein Lösungsweg aus?

Gruß
Robert

/modules/payp/paypalplus/out/src/js/payppaypalpluswall.js (ganz unten)


_hidePayPalPlusDescription: function () {
     var selector = jQuery(this.options.domPaymentListItem + ' ' + this.options.domPaymentDescription);
            if (selector.length > 0) {
                // CCD 
		// jQuery(selector).hide();
            }
        }

Aber Obicht: ich setze NICHT flow ein, weis also nicht, ob das dennoch funktioniert.

1 Like

Hallo Wolkenkrieger,

vielen Dank, ich war zwar schon in dieser Datei, aber irgendwie habe ich die Stelle übersehen… :). Ich hab’s auskommentiert und jetzt passt das :slight_smile:

Gruß
Robert

Vielen Dank für die (immer noch aktuelle) Lösung! :slight_smile:

Sie funktioniert problemlos mit Flow und ist auch bei dem aktuellen Paypal Plus Modul Version 3.0.3 nötig.