lachaca1957 Posted August 12, 2017 Share Posted August 12, 2017 Hoffe jemand kann mir da einen Tipp geben. Beim Abschluss der Bestellung (als gast oder Kunde) steht In der Liefer- resp. Rechnungsadresse kein Feld mehr mit Vorname sondern customer und im nächsten Schritt kriege ich einen 500 Server Error.Hat das zufällig auch schon jemand gehabt oder weiss wo ich suchen kann? Bin leider nicht der grosse Spezi bei diesem Shop. Das Ganze kam von einem Tag auf den anderen, keine Ahnung ob ich da was verbockt habe, aber es kamenauch keine Bestellungen rein damit ich das gemerkt hätte. Wäre super wenn mir einer einen Tipp geben kann. Vielen Dank Fehlermeldung (mit debug): [PrestaShopException]Kein Eintrag in Address->firstnameat line 944 in file classes/ObjectModel.php 939. }940.941. $message = $this->validateField($field, $this->$field);942. if ($message !== true) {943. if ($die) {944. throw new PrestaShopException($message);945. }946. return $error_return ? $message : false;947. }948. }949. ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php] ObjectModelCore->getFields - [line 518 - classes/ObjectModel.php] ObjectModelCore->add - [line 174 - classes/Address.php] - [2 Arguments] AddressCore->add - [line 476 - classes/ObjectModel.php] - [2 Arguments] ObjectModelCore->save - [line 76 - classes/form/CustomerAddressPersister.php] CustomerAddressPersisterCore->save - [line 163 - classes/form/CustomerAddressForm.php] - [2 Arguments] CustomerAddressFormCore->submit - [line 111 - classes/checkout/CheckoutAddressesStep.php] CheckoutAddressesStepCore->handleRequest - [line 57 - classes/checkout/CheckoutProcess.php] - [1 Arguments] CheckoutProcessCore->handleRequest - [line 202 - controllers/front/OrderController.php] - [1 Arguments] OrderControllerCore->initContent - [line 205 - classes/controller/Controller.php] ControllerCore->run - [line 369 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 28 - index.php] Link to comment Share on other sites More sharing options...
SliderFlash Posted August 12, 2017 Share Posted August 12, 2017 google mal nach , prestashop 1.7 error 500 Link to comment Share on other sites More sharing options...
rictools Posted August 12, 2017 Share Posted August 12, 2017 google mal nach , prestashop 1.7 error 500 Inwieweit sollte das hilfreich sein? Daß man bei einem Error 500 Error Reporting aktiviert muß er nicht mehr ergoogeln. Zunächst: 1.7 ist keine vollständige Versionsangabe. Sinnvoll wäre vielleicht auch die Angabe der PHP-Version. Ist es egal, was man ins Feld "Vorname" einträgt? Link zum Shop? Link to comment Share on other sites More sharing options...
lachaca1957 Posted August 14, 2017 Author Share Posted August 14, 2017 Hi rictools Danke für deine Hilfe Ich musste eine Notlösung basteln und habe die Zeilen im Object Model (um die 944) auskommentiert. Damit wird die Abfrage ausgelassen und es kann bestellt werden. Es sind auch alle Angaben da inkl Vorname.nur dass das Feld Vorname nicht erscheint sondern ein Select Feld mit customer? Wenn ich eine weitere Adresse eingebe sehe ich beide in der Registerkarte "Adressen" MIT Vorname" der aus den persönliche Daten übernommen wurde? Keine Ahnung woher das Feld "customer" kommt? PHP Version ist 5.6.31 Prestashop ist Version 1.7.1.1 Link zum Shop (ist live): https://perform-training.ch Vielleicht hast du ja einen Tipp woher das kommen könnte. Ich habe echt keine Ahnung mehr. Vielen Dank und Gruss Marcel Link to comment Share on other sites More sharing options...
rictools Posted August 17, 2017 Share Posted August 17, 2017 Wenn nichts gegen ein Update spricht, würde ich erst einmal auf 1.7.2 updaten, vielleicht erledigt sich das Problem ja damit. Generell wirst du zu Prestashop 1.7.x wenig Hilfe erhalten, da fast alle vom Einsatz abraten und es auch kaum jemand wenigstens zu Testzwecken nutzt. Gerade mal getestet, ich kann keine Probleme mit dem Vorname-Feld erkennen. Anmerkungen: Sind AGB wie bei dir in der Schweiz zulässig? Ich wäre da als potentieller Käufer ja sowas von schnell auf der Flucht ... Einzige Zahlungsart Kreditkarte? Blickt bei den Versandkosten jemand durch? Ich nicht ... Lt. Infoseite sollte ich wohl für 4,5 kg wahnsinnige 75 Franken bezahlen, im Warenkorb steht allerdings versandkostenfrei und der Footer, um die Versandkosteninfo aufzurufen, ist nicht mehr sichtbar ... Nachdem ich das Land ausgewählt habe (zur Auswahl steht eigentlich nichts außer der Schweiz, warum ist die nicht vorausgewählt?), soll ich auf einmal wahnsinnige 209 Franken Versandkosten bezahlen ... Wozu kann man die USt.-IdNr. eintragen? Link to comment Share on other sites More sharing options...
theo74 Posted September 25, 2017 Share Posted September 25, 2017 (edited) Gibt es inzwischen eine Lösung für das Problem? Ich habe das selbe Problem. Alles ist auf dem neusten Stand, alle Updates gemacht, aber die Fehlermeldung bleibt Jemand vielleicht einen Vorschlag?Danke schon mal Edited September 25, 2017 by theo74 (see edit history) Link to comment Share on other sites More sharing options...
rictools Posted September 25, 2017 Share Posted September 25, 2017 Bitte, bitte nicht "ich habe das selbe Problem", in diesem Thread werden so viele Probleme angesprochen, das man mit dieser Aussage nicht das Geringste anfangen kann. Link to comment Share on other sites More sharing options...
theo74 Posted September 26, 2017 Share Posted September 26, 2017 (edited) Es ist aber leider der selbe Fehler wie oben. Nur das es bei mir nicht am Namen hängt sondern an der Länderauswahl die ein Pflichtfeld ist, und auch gefüllt wird...aber den Fehler erzeugt. Wenn man dann zurück geht ist alles eingetragen und richtig. Wie gesagt alles ist auf dem neuesten Stand PrestaShop-Version 1.7.2.2 Kein Eintrag in Address->id_countryat line 944 in file classes/ObjectModel.php 939. }940.941. $message = $this->validateField($field, $this->$field);942. if ($message !== true) {943. if ($die) {944. throw new PrestaShopException($message);945. }946. return $error_return ? $message : false;947. }948. }949. ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php] ObjectModelCore->getFields - [line 683 - classes/ObjectModel.php] ObjectModelCore->update - [line 202 - classes/Address.php] - [1 Arguments] AddressCore->update - [line 219 - classes/Address.php] AddressCore->delete - [line 73 - classes/form/CustomerAddressPersister.php] CustomerAddressPersisterCore->save - [line 162 - classes/form/CustomerAddressForm.php] - [2 Arguments] CustomerAddressFormCore->submit - [line 58 - controllers/front/AddressController.php] AddressControllerCore->postProcess - [line 194 - classes/controller/Controller.php] ControllerCore->run - [line 379 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 28 - index.php] Edited September 26, 2017 by theo74 (see edit history) Link to comment Share on other sites More sharing options...
theo74 Posted September 28, 2017 Share Posted September 28, 2017 Hat keiner eine kleine Idee was man machen kann? Wäre wirklich dankbar Link to comment Share on other sites More sharing options...
weiricth1 Posted October 21, 2017 Share Posted October 21, 2017 On 28.9.2017 at 5:31 PM, theo74 said: Hat keiner eine kleine Idee was man machen kann? Wäre wirklich dankbar hab das gleiche problem wie du mit der länder auswahl. da des aber richtig gespeichert wird hab ich jetzt einfach die umleitung vom error 500 genommen und die auf hauptseite wieder gelinkt. naja unschön aber vorrübergehend sinnig. Link to comment Share on other sites More sharing options...
Scully Posted October 21, 2017 Share Posted October 21, 2017 Also bei den hier geposteten "Lösungen" stehen mir die Haar zu Berge. Anstelle das Problem im Kern zu analysieren, werden einfach Validierungen aus dem Programmcode deaktiviert. Was kann man den tun? Man kann das Template z.B. Debuggen. Ich vermute, dass der Fehler dort liegt und der Inhalt des Feldes Land bzw. dessen ID nicht korrekt übertragen wird. Wenn es sich NICHT um das PrestaShop Theme dreht, dann würde ich auch den Theme-Entwickler mal anschreiben. Wenn es das Default Theme ist, einfach mal die .tpl Datei genau anschauen oder den Seitenquelltext im Browser, bevor man das Formular absendet. Link to comment Share on other sites More sharing options...
weiricth1 Posted October 21, 2017 Share Posted October 21, 2017 das dies keine lösung ist, ist wohl jeden bewust, aber ein live shop muss laufen und lieber nen reconnect als ne 500 fehler meldung. und dann kann man debuggen. Link to comment Share on other sites More sharing options...
Scully Posted October 21, 2017 Share Posted October 21, 2017 Du hast ja mit dem sogenannen "Reconnect" einfach eine Umleitung gemacht. Sinnvoll wäre es, den Shop entweder zu klonen oder den Fehler aufgrund einer Analyse zu Randzeiten zu beheben. Deine Methode ist halt eher der Holzhammer. Link to comment Share on other sites More sharing options...
weiricth1 Posted October 21, 2017 Share Posted October 21, 2017 schon klar. es ging aber um eine "schnelle" erstlösung. damit der shop weiter läuft. ohne das die user viel davon mitbekommen. natürlich hab ich nen dump gezogen und den auf na test instatz eingespielt. wo ich jetzt in ruhe ohne stress und druck das beheben kann. Link to comment Share on other sites More sharing options...
theo74 Posted October 22, 2017 Share Posted October 22, 2017 Diese "Quick & Dirty" Lösung kann natürlich keine Endlösung sein, aber wie @weiricth1 schon sagt "der Shop muss laufen". Wir haben den Fehler gesucht und versucht die Ursache zu beheben. Kamen aber keine Schritt weiter. Deshalb ist dieser Post ja erstellt worden Am Template liegt es z.B. nicht - auch mit dem original Template erscheint die Error Meldung. Kein Eintrag in Address->id_country at line 944 in file classes/ObjectModel.php 939. } 940. 941. $message = $this->validateField($field, $this->$field); 942. if ($message !== true) { 943. if ($die) { 944. throw new PrestaShopException($message); 945. } 946. return $error_return ? $message : false; 947. } 948. } 949. ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php] ObjectModelCore->getFields - [line 683 - classes/ObjectModel.php] ObjectModelCore->update - [line 202 - classes/Address.php] - [1 Arguments] AddressCore->update - [line 219 - classes/Address.php] AddressCore->delete - [line 73 - classes/form/CustomerAddressPersister.php] CustomerAddressPersisterCore->save - [line 162 - classes/form/CustomerAddressForm.php] - [2 Arguments] CustomerAddressFormCore->submit - [line 58 - controllers/front/AddressController.php] AddressControllerCore->postProcess - [line 194 - classes/controller/Controller.php] ControllerCore->run - [line 379 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 28 - index.php] Link to comment Share on other sites More sharing options...
Scully Posted October 22, 2017 Share Posted October 22, 2017 Du hast wohl Deine PrestaShop Version hier noch nicht genannt. Dann wäre es evtl. Zeit, dies noch nachzuholen. Weiter kommt mir in den Sinn, dass Du ggf. im Adressformat das Land nicht gesetzt hast. PrestaShop benötigt immer ein Land und damit eine Länder-ID. Link to comment Share on other sites More sharing options...
theo74 Posted October 23, 2017 Share Posted October 23, 2017 Die Version wird oben genannt PrestaShop-Version 1.7.2.2 Das Land wird ausgewählt und gesetzt... wenn man dann auf Fortsetzen drücken erscheint der Error... geht man zurück sind die Daten und auch das Land gespeichert Das heißt es funktioniert eigentlich erzeugt aber den Fehler das Länder ja Pflichtfelder sind...was sie auch sind und auch als Pflichtlied definiert Und da liegt das Problem - ein Fehler der kein Fehler ist Link to comment Share on other sites More sharing options...
theo74 Posted October 25, 2017 Share Posted October 25, 2017 So, das habe ich noch gefunden https://stackoverflow.com/questions/42413535/prestashop-1-7-unable-to-save-order-address und wenn man dann, wie beschrieben In classes\form\CustomerAddressPersister.php public function save(Address $address, $token) { if (!$this->authorizeChange($address, $token)) { return false; } $address->id_customer = $this->customer->id; $address->save(); // <-- Add this if ($address->isUsed()) { $old_address = new Address($address->id); $address->id = $address->id_address = null; return $address->save() && $old_address->delete(); } return $address->save(); } denn Code $address->save(); in Zeile 68 eingibt läuft es. 2 Link to comment Share on other sites More sharing options...
weiricth1 Posted October 25, 2017 Share Posted October 25, 2017 gut der mann Link to comment Share on other sites More sharing options...
dszuecs Posted June 12, 2018 Share Posted June 12, 2018 Konnte das Problem mit dem Fix hier "denn Code $address->save(); in Zeile 68 eingibt läuft es." beheben können bei 1.7.2, habe nun aktualisiert auf 1.7.3.3 und das Problem tritt wieder auf.. die Zeile $address - > save(); ist noch immer vorhanden, hat mir jemand noch nen Tipp? Danke im Voraus d. Link to comment Share on other sites More sharing options...
rictools Posted June 12, 2018 Share Posted June 12, 2018 Ja, ein Update ohne Not ist oft ein Fehler, vor allem auf die gerade neueste Version ... Der Tipp war ja vom vergangenen Herbst. Link to comment Share on other sites More sharing options...
dszuecs Posted June 13, 2018 Share Posted June 13, 2018 15 hours ago, rictools said: Ja, ein Update ohne Not ist oft ein Fehler, vor allem auf die gerade neueste Version ... Der Tipp war ja vom vergangenen Herbst. Danke für deinen äussert hilfreichen und nützlichen Einzeiler.. Das Update hatte mit dem Error 500 nichts zu tun, das Problem waren "tote" Bestellungen in der Datenbank, welche ich importiert hatte von 1.6.x Falls jemand das gleiche Problem hat, unabhängig der 1.7.x Version, prüft in der Tabelle ps_orders die Felder id_address_delivery und id_address_invoice. Sollte da in einem Feld der Wert 0 eingetragen sein, löscht den Datensatz oder ergänzt manuell eine Random-ID, danach klappts. Link to comment Share on other sites More sharing options...
rictools Posted June 13, 2018 Share Posted June 13, 2018 1 hour ago, dszuecs said: Danke für deinen äussert hilfreichen und nützlichen Einzeiler.. Du hattest ja nun auch nicht gerade viel Information geliefert. Außerdem ist es sicher kein Fehler immer mal wieder darauf hinzuweisen, daß man nicht immer gleich auf die neueste Version upgraden sollte (never change a running system), genauso wie darauf, daß fast alle erfahreneren User hier 1.7.x nicht verwenden und deshalb auch wenig Hilfe möglich ist. Wenn du außer dem Update gleichzeitig einen Import von Daten vorgenommen hast und es an diesem liegt, dann kann ich das natürlich nicht ahnen, generell sollte man sich schon gut mit der Datenbankstruktur auskennen, um so etwas zu unternehmen. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now