Probleme OXID eSales PayPal v3.2.1 bei EE 4.4.8

Hallo zusammen,

die korrekte vollständige Bezeichnung des Moduls, mit dem ich ein Problem habe, lautet: OXID eSales PayPal v3.2.1 for eShop v4.4.x, release 1.

Das Modul ist installiert und konfiguriert. Wenn ich unter Moduladapter auf Modul einrichten gehe und dort auf Aktivieren bzw. Beheben bekomme ich keine Fehler. Ich habe das Modul aktiviert und alle Daten korrekt eingegeben. Das Modul wird so auch geladen, d.h. ich sehe nach dem aktivieren das Paypal-Logo, ID, Pfad, Author, usw…

Wenn ich nun die Zahlungsmethode Paypal aktiviere, mich als Kunde anmelde, meinen Warenkorb fülle und zum Punkt 3 im Warenkorb gehe, dem auswählen der Zahlart, ist dort nun auch Paypal vorhanden, allerdings ohne entsprechende CSS, rein Plain-Text bzw. Platzhalter. Aber auswählen kann ich es. Klicke ich aber nun auf “weiter” werde ich auf die Startseite zurückgeworfen mit der Fehlermeldung:

EXCEPTION_SYSTEMCOMPONENT_CLASSNOTFOUND

Ich habe mir die EXCEPTION_LOG.txt angesehen. Darin finde ich folgenden Stacktrace:


[2015-03-06 14:58:51]  oxSystemComponentException-oxException (time: 2015-03-06 14:58:51): [0]: EXCEPTION_SYSTEMCOMPONENT_CLASSNOTFOUND 
 Stack Trace: #0 [internal function]: oxUtilsObject->oxNew('oePayPalStandar...')
#1 /data/www/shop.schoessmetall.de/public/core/oxfunctions.php(280): call_user_func_array(Array, Array)
#2 /data/www/shop.schoessmetall.de/public/views/oxshopcontrol.php(283): oxNew()
#3 /data/www/shop.schoessmetall.de/public/views/oxshopcontrol.php(91): oxShopControl->_process('oePayPalStandar...')
#4 /data/www/shop.schoessmetall.de/public/modules/d3/autoload/views/d3_oxshopcontrol_autoload.php(14): oxShopControl->start('oePayPalStandar...', 'setExpressCheck...')
#5 /data/www/shop.schoessmetall.de/public/index.php(94): d3_oxshopcontrol_autoload->start()
#6 {main}

 Faulty component --> oepaypalstandarddispatcher

Ich bin nun mehrfach die Anleitung zur installation des Moduls durchgegangen und konnte meinen Fehler nicht finden. Die Datei oepaypalstandarddispatcher.php ist im korrekten Ordner, an dem selben Ort, in dem er laut metadata.php auch sein sollte.

Ich vermute das das Problem darin liegt, dass die Pfade des Moduls nicht korrekt geladen werden. Deshalb wird warscheinlich auch Paypal als Zahlmethode ohne CSS dargestellt. Mir fehlt es aber am wissen über die Innereien des Shops, wie ich meine Vermutung bestätigen könnte bzw. nachzuprüfen, was als Classpath geladen wird und wo ich das ändern könnte.

Vielleicht seh ich auch den Wald vor Bäumen nicht. Jedenfalls brauch ich mal einen Tip von jemandem, der sich auskennt. Bin für jedwede Hilfe offen.

Vielen Dank
Aragorn68

Die Installation kopiert Dateien in alle möglichen Ordner des Shops. Die Datei “oepaypalstandarddispatcher.php” sollte z.B. in /views liegen. Ich würde das Modul nochmal löschen, alle Ordner auf 777 stellen und dann nochmal installieren. danach müssen alle Berechtigungen wieder zurückgesetzt werden. Alternativ könntest du auch eine 448 lokal installieren, das Modul installieren und schauen was wohin kopiert wurde. Oder in der Datei \modules\oeadapter\modules\oe\oepaypal\adapter-scenario.php nachschauen was wohin kopiert werden sollte und nachprüfen ob es auch da ist.

So, nun hatte ich endlich mal wieder Zeit mich mit dem Problem zu beschäftigen. Das Verzeichnis /views funktioniert nicht als Lösung des Problems, wohl aber das Verzeichnis /core. Wenn ich die Datei oepaypalstandarddispatcher.php dort hinein kopiere läuft das ganze weiter. Als nächstes erhalte ich dann den Fehler, dass oepaypaldispatcher.php nicht gefunden wird. Kopiere ich den ins core-Verzeichnis, findet er oepaypalcontroller.php nicht. Und wenn ich den ins core-Verzeichnis kopiere, erhalte ich eine simple ClassNotFound-Exception visuell im Webshop.

Im Prinzip ist meine Vermutung also bestätigt, dass die Pfade des Moduls nicht korrekt geladen werden. Ich weiß leider zu wenig über die internen Einstellungen des Shops um heraus zu finden, warum die Pfade wohin auch immer nicht geladen werden.

Kann mir jemand hierzu helfen?

Was ist mit den Vorschlägen aus meinem letzten Posting? Installiere dir doch mal eine 4.4.8 und Paypal lokal, dann kannst du sehen welche Dateien wohin gehören und welche Einträge unter System/Module erstellt werden.

Ganz ehrlich: diesen Vorschlag habe ich ignoriert. Grund: viel zu viel Aufwand und mir erschließt sich der Nutzen nicht. Denn dafür müsste ich lokal Webserver, PHP, Zend und MySQL installieren. Welche Einträge unter System/Module erstellt werden, sehe ich aber auch online ja auch. Dafür brauch ich keine lokale Installation.

Ich verstehe nur nicht, wie ich lokal sehen soll welche Dateien wohin gehören. Wie meinst du das, wo sollte ich das sehen? Und warum kann ich das nur lokal sehen und nicht online?

Ok, jetzt versteh ich was du meinst. Beim einrichten von oepaypal werden nicht nur Einträge unter System/Module vorgenommen sondern auch diverse Dateien im Dateisystem des eShops verteilt. Dafür ist auch das Dateisystem-Rechte umsetzten wären der installation nötig. Ich werde das jetzt mal prüfen. Ich schätze, das könnte das Problem sein.

Ja, du hattest recht. Ein typisches “Wer lesen kann …”-Problem. Ich hatte deine erste Antwort missverstanden, mir war nicht bewusst, dass die Dateien von oepaypal herumkopiert werden. Ich habe jetzt einige Stichproben gemacht. Bei den Verzeichnissen war überall 755 als Recht gesetzt. Trotzdem aber hat es nicht funktioniert. Ich habe nun kurzfristig 777 gesetzt und zwar auf alle Verzeichnisse und anschließend das Modul nochmals deaktiviert und wieder neu aktiviert. Und nun läuft es.

Vielen vielen Dank
Aragorn68

Super dass es jetzt funktioniert hat! Dass die Dateien bei der Aktivierung in alle möglichen Verzeichnisse kopiert werden ist in der Tat nicht so ersichtlich aus der Anleitung.