Jump to content
Bikehit

Artikel lassen sich nicht zum Warenkorb hinzufügen

Recommended Posts

Posted (edited)

Hallo.

Wir haben sowohl im Frontend als auch im Backend, dass teilweise keine Artikel zum Warenkorb bzw. zu einer Bestellung hinzugefügt werden können. Die Probleme hängen vermutlich zusammen.

Im Backend erscheint folgende Fehlermeldung: "Es existiert bereits eine Bestellung in diesem Warenkorb. Artikel kann leider nicht zum Warenkorb hinzugefügt werden." Der Debug-Modus gibt keine zusätzlichen Fehlermeldungen aus.

Im Frontend werden Artikel teilweise nicht zum Warenkorb hinzugefügt (trotz Bestand) und es erscheint bei mehreren Kunden die Meldung "There are no more items in your cart." Das Frontend-Problem konnten wir unsererseits bisher nicht reproduzieren, da alle Tests funktionierten.

Wir sind für jede Hilfestellung dankbar, da wir aktuell keine Idee haben, wodurch das Problem ausgelöst wird.

 

Edited by Bikehit (see edit history)

Share this post


Link to post
Share on other sites

Willkommen im Forum!

Dieses Unterforum ist wie folgt beschrieben: "Bitte hier nur evtl. entdeckte BUGS angeben. Hier gehören keine Server-Fehler oder sonstige Fehlermeldungen hinein." Hier sollen eigentlich keine Fragen beantwortet werden, dein Post wird hier wohl auch weniger gelesen als in anderen Bereichen!

Leider fehlen alle wichtigen Infos wie Shopversion, PHP-Version, History (alter oder neuer Shop, wurde an der Datenbank gebastelt (denn das sieht nach einem Fehler in der Datenbank aus)).

Share this post


Link to post
Share on other sites

Wir verwenden PS 1.7.5.1 und PHP-Version 7.2. Der Shop ist vor über einem halben Jahr umgezogen (vorher Version 1.7.2.x). Das Problem tritt allerdings erst seit ca. 1 Monat auf. Der Umzug erfolgte zum wesentlichen Teil mit dem Modul MigrationPro. Dieses verursachte ein paar Probleme in ein paar DB Tabellen, welche manuell gefixt wurden. Es ist nicht auszuschließen, dass es weitere Probleme verursacht hat. Weiterhin wurde in größeren Abständen das Modul Database Optimization (mypresta.eu) ausgeführt, welches u.a. die Tabelle ps_cart leert.

Auf dem Beispiel-Screenshot  sind alle gescheiterten Versuche gelistet, für ein und denselben Kunden einen Artikel in den Warenkorb zu legen. Auffällig ist dabei, dass manchmal versucht wird, alte IDs zu vergeben und dann wieder die neuesten IDs verwendet werden. Nach mehreren Versuchen gelingt es dann i.d. Regel. Wieviele nötig sind, konnten wir noch nicht herausfinden.

1.png

Share this post


Link to post
Share on other sites

Operationen an der Datenbank sind eher etwas für Profis, oft sind die Tabellen ja miteinander verbunden. Ich denke, du mußt dir die betreffenden Tabellen näher anschauen, evtl. einen Wert für Auto-Inkrement festlegen, der oberhalb der bisher verwendeten IDs liegt. Mach vorher eine Datenbank-Sicherung.

Share this post


Link to post
Share on other sites

Das Problem ist gelöst. Der Hinweis mit dem Auto-Inkrement war entscheidend. Die Ursache war die Leerung der tabelle ps_cart (durch Shop-Umzug oder DB-Säuberung). Dabei zählte die Cart ID wieder von 1 los. Sobald jedoch ein Warenkorb mit einer Cart ID, welche in der tabelle ps_orders vorkommt (Spalte id_cart) generiert wurde, kam es zu diesem Fehler. Ich habe den Wert jetzt höher als die höchste vorkommende Cart ID in der ps_orders gesetzt. Danke für die schnelle Hilfe.

Share this post


Link to post
Share on other sites

Hallo Bikehit

Ich habe das selbe Problem.

Leider kenne ich mich nicht aus mit Datenbanken. Wie und wo genau hast Du den Wert verändert (siehe jpg)?

Besten Dank für Deine Hilfe

 

Datenbank-ps_orders.JPG

Share this post


Link to post
Share on other sites

Ist doch eigentlich nicht so schwer, in der ersten Zeile steht deutlich "AUTO_INCREMENT" und direkt daneben ist der Bearbeiten-Knopf ...

Share this post


Link to post
Share on other sites

Danke, habe ich gerade gemacht id_order -> Bearbeiten und dann geht eine Maske auf (siehe jpg). Muss ich da bei Länge/Werte den Wert ändern, ansonsten sehe ich keine Zahlen. Wie gesagt, von Datenbanken habe ich kein Ahnung.

Datenbank-ps_orders2.JPG

Share this post


Link to post
Share on other sites
1 hour ago, rictools said:

Ist doch eigentlich nicht so schwer, in der ersten Zeile steht deutlich "AUTO_INCREMENT" und direkt daneben ist der Bearbeiten-Knopf ...

Und was soll das an dieser Stelle bringen? Die Datenbankdefinition sollte so bleiben, wie sie ist! Es geht um den Inhalt. Die id_cart des letzten Warenkorbs muss hochgesetzt werden, aber so, dass keine Inkonsistenzen entstehen. Also überall da, wo diese letzte ID vorkommt.

  • Thanks 1

Share this post


Link to post
Share on other sites

Das dachte ich mir. Und deswegen solltest du auch besser die Finger von der Datenbank lassen und dich an eine(n) Fachmann/-frau wenden. Irgend jemand muss dir doch den Shop installiert haben!

Share this post


Link to post
Share on other sites


Das solltest Du sowiso nicht machen weil das Problem wahrscheinlich bei Dir nicht von einer DB Inkositenz kommt, in dem Fall würde schon eine Fehlermeldung hoch kommen. Selbst wenn nicht würde das zumindest geloggt werden. Noch dazu würde sich das nach einem refresh auch nicht anders verhalten - denn dabei ändert sich die cart_id sicherlich/hoffentlich nicht 😉

Seh das Problem eher bei der Registrierung des add to cart events. Deaktivier doch mal den "Smart Cache für Javascript" unter Leistung und schau ob es dann geht, wenn nein dann hau mal dein FB Pixel gedöns raus.

  • Thanks 1

Share this post


Link to post
Share on other sites

Hallo wmunich

Habe beides versucht. Smart Cache deaktiviert und FB Pixel deaktiviert. Leider beides ohne Erfolg.

Share this post


Link to post
Share on other sites

Den Shop habe ich selber installiert. Das ist auch als Anfänger in Datenbanken möglich. Das ging bei PS 1.4, PS 1.5 und PS 1.7, aber die letztere PS Version ist eine richtige Zicke.

Share this post


Link to post
Share on other sites
2 hours ago, fox@dog1 said:

Hallo wmunich

Habe beides versucht. Smart Cache deaktiviert und FB Pixel deaktiviert. Leider beides ohne Erfolg.

Jetzt wird aber der event richtig ausgelöst nur kommt es nun zum nächste js Fehler da die plugindetect.js nicht geladen wird. Wie sieht denn deine statsdata.php unter module/statsdata/ aus?

Speziell:

$this->context->controller->registerJavascript('modules-plugindetect'....

Bzw. deaktiviere doch testweise mal die "Plug-Ins-Erkennung" im Statistik Modul und versuch es erneut.

Edited by wmunich (see edit history)
  • Thanks 1

Share this post


Link to post
Share on other sites
vor 8 Stunden schrieb fox@dog1:

Danke, habe ich gerade gemacht id_order -> Bearbeiten und dann geht eine Maske auf (siehe jpg). Muss ich da bei Länge/Werte den Wert ändern, ansonsten sehe ich keine Zahlen. Wie gesagt, von Datenbanken habe ich kein Ahnung.

Ich hatte jetzt übersehen, daß du die Tabelle ps_orders bearbeiten wolltest, Bikehit hatte aber ausdrücklich von einer Änderung in der ps_cart gesprochen (in der ps_orders kann man nur nachsehen, wie die höchste dort bisher enthaltene id_cart lautet). Im Grunde ist das keine Zauberei, auf jeden Fall sollte man mit der entsprechenden Prestashop-Funktion vorher die Datenbank sichern und am besten auch genau notieren, was man wie genau geändert hat. Ob das Problem jetzt da liegt, weiß ich freilich nicht, bevor du etwas änderst, kannst du ja erst einmal in der ps_orders schauen, wie die höchste id_cart lautet und schauen, welche ID ein neu erstellter Warenkorb erhält oder wie viele Einträge / IDs die Tabelle ps_cart besitzt.

Das Auto-Inkrement findet sich wahrscheinlich ganz unten, hängt vom Programm ab. Manchmal muß man halt ein wenig googeln oder eine Anleitung lesen ... 

Edited by rictools (see edit history)
  • Thanks 1

Share this post


Link to post
Share on other sites

Hallo wmunich

Merci vöu x (Danke viel Mals)! Du bist mein Held. Es hat funktioniert. Nach dem ich im Module Statistik "Plug-Ins-Erkennung" deaktiviert habe, funktioniert der Warenkorb. Ich habe es mit dem Mobile Browser, Firefox und Edge getestet und es läuft.

Im Debug Mode zeigt es mir nur noch Warnungen an. Eine davon ist: "Enabling the "sensio_framework_extra.router.annotations" configuration is deprecated since version 5.2. Set it to false and use the "Symfony\Component\Routing\Annotation\Route" annotation from Symfony itself". Ich weiss nicht, ob die wichtig ist.

Und im Firefox zeigt es mir noch diesen Fehler an:

"Source-Map-Fehler: Error: NetworkError when attempting to fetch resource. Ressourcen-Adresse: moz-extension://05b4729f-a482-4a18-bb77-2b46a53dcd86/content/js/purify.min.js Source-Map-Adresse: purify.min.js.map"

Aber der Shop läuft endlich. Hoffentlich war das der letzte riesen Fehler.

Und danke an euch Alle für eure Hilfe.

Share this post


Link to post
Share on other sites

Die zwei Meldungen (sensio_framework, Source-Map) kannst Du ignorieren.

Jetzt solltest wahrscheinlich auch dein FB Pixel wieder aktivieren und den cache für JS verwenden können - das waren wahrscheinlich nur Folgefehler - musst mal testen.

Wenn Du dennoch die Plug-Ins-Erkennung/Statsdata verwenden möchtest, was ich nicht empfehle, dann sollte die Einbindnung der plugindetect.js über hookActionFrontControllerSetMedia($params) laufen. Aber Du hast ja eh google analytics am Start, somit brauchst das ja nicht wirklich.

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More