Jump to content
alex-777

erreur 500 lors du checkout

Recommended Posts

Bonjour à Tous ,

Depuis ce matin, lorsqu'un client remplit la phase 2 du checkout ( remplir son adresse) et appui sur continuer, il reçoit une erreur 500.

La version de prestashop est 1.7.6

l'url de la boutique https://tendanceflamenca.com

En mode debug :

 

 

(1/1) ContextErrorException

Runtime Notice: Declaration of Ps_EmailsubscriptionOverride::newsletterRegistration() should be compatible with Ps_Emailsubscription::newsletterRegistration($hookName = NULL)

in ps_emailsubscription.php

at ErrorHandler->handleError(2048, 'Declaration of Ps_EmailsubscriptionOverride::newsletterRegistration() should be compatible with Ps_Emailsubscription::newsletterRegistration($hookName = NULL)', '/home/webmaster/www/public_html/target-shop/override/modules/ps_emailsubscription/ps_emailsubscription.php', 0, array('module_name' => 'ps_emailsubscription', 'r' => false))in Module.php line 1132

at ModuleCore::coreLoadModule()in Module.php line 1132

at ModuleCore::coreLoadModule('ps_emailsubscription')in Module.php line 1120

at ModuleCore::getInstanceByName('ps_emailsubscription')in Hook.php line 884

at HookCore::exec('additionalCustomerFormFields', array(), null, true)in CustomerFormatter.php line 230

at CustomerFormatterCore->getFormat()in CustomerFormatter.php line 33

at CustomerFormatter->getFormat()in AbstractForm.php line 156

at AbstractFormCore->fillWith(array('id' => 4423, 'id_shop' => '1', 'id_shop_group' => '1', 'secure_key' => 'b3eec1093bddf3fc95c015874b6cd15f', 'note' => '', 'id_gender' => '1', 'id_default_group' => '2', 'id_lang' => '1', 'lastname' => 'Flamenca', 'firstname' => 'Tendance', 'birthday' => null, 'email' => 'tendanceflamenca@sfr.fr', 'newsletter' => '0', 'ip_registration_newsletter' => '', 'newsletter_date_add' => '0000-00-00 00:00:00', 'optin' => '0', 'website' => '', 'company' => '', 'siret' => '', 'ape' => '', 'outstanding_allow_amount' => '0.000000', 'show_public_prices' => '0', 'id_risk' => '0', 'max_payment_days' => '0', 'passwd' => '$2y$10$We.kPfnvpI1p5kYJF.4YOep8NzTfMZKx/Uj6L6P2k2nUxhc0jNUDC', 'last_passwd_gen' => '2019-09-28 11:33:59', 'active' => '1', 'is_guest' => '1', 'deleted' => '0', 'date_add' => '2019-09-28 17:33:59', 'date_upd' => '2019-09-28 17:33:59', 'years' => null, 'days' => null, 'months' => null, 'geoloc_id_country' => null, 'geoloc_id_state' => null, 'geoloc_postcode' => null, 'logged' => true, 'id_guest' => false, 'groupBox' => null, 'reset_password_token' => '', 'reset_password_validity' => '0000-00-00 00:00:00', 'id_shop_list' => array(), 'force_id' => false, 'id_customer' => 4423))in CustomerForm.php line 82

at CustomerFormCore->fillFromCustomer(object(Customer))in CheckoutPersonalInformationStep.php line 58

at CheckoutPersonalInformationStepCore->handleRequest(array('id_address' => '', 'id_customer' => '', 'back' => '', 'token' => '347199ff0a9edeac14b09bbaf8afce97', 'company' => '', 'vat_number' => '', 'address1' => '10 rue de la Monnaie', 'address2' => '', 'postcode' => '54000', 'city' => 'Nancy', 'id_country' => '8', 'phone_mobile' => '', 'saveAddress' => 'delivery', 'use_same_address' => '1', 'submitAddress' => '1', 'confirm-addresses' => '1', 'isolang' => 'fr', 'id_lang' => 1, 'controller' => 'order'))in CheckoutProcess.php line 59

at CheckoutProcessCore->handleRequest(array('id_address' => '', 'id_customer' => '', 'back' => '', 'token' => '347199ff0a9edeac14b09bbaf8afce97', 'company' => '', 'vat_number' => '', 'address1' => '10 rue de la Monnaie', 'address2' => '', 'postcode' => '54000', 'city' => 'Nancy', 'id_country' => '8', 'phone_mobile' => '', 'saveAddress' => 'delivery', 'use_same_address' => '1', 'submitAddress' => '1', 'confirm-addresses' => '1', 'isolang' => 'fr', 'id_lang' => 1, 'controller' => 'order'))in OrderController.php line 265

at OrderControllerCore->initContent()in Controller.php line 291

at ControllerCore->run()in Dispatcher.php line 515

at DispatcherCore->dispatch()in index.php line 28

 

Pouvez-vous m'aider ?

 

Merci d'avance !

 

Share this post


Link to post
Share on other sites

Vous avez un module d'inscription à la newsletter qui n'est pas conforme, désinstallez-le.

Share this post


Link to post
Share on other sites

Merci pour cette réponse rapide!

 

J'ai bien supprimé ps_emailsubscription, cependant le problème persiste..

Cache et historique vidé, dois-je attendre un certain temps que mon serveur s'ajuste ?

Share this post


Link to post
Share on other sites

Vous l'avez supprimé ou désinstallé ? Parce que ce truc à mis un override dons la suppression simple ne l'a pas enlevé.

Une fois cela fait videz le cache de votre Presta

Share this post


Link to post
Share on other sites

Je l'ai supprimé dans le BO et également par FTP

Vider le cache dans le BO ne suffit pas ?

Share this post


Link to post
Share on other sites

supprimer dans le BO doit le supprimer du ftp normalement...

Mais je ne suis pas sur que ce soit le bon module car là on parle d'un override de ce module, donc c'est un autre qui l'a déposé.

Ce fichier existe-t-il toujours ?

/home/webmaster/www/public_html/target-shop/override/modules/ps_emailsubscription/ps_emailsubscription.php

Normalement en haut de ce fichier il y a le nom du responsable^^

Share this post


Link to post
Share on other sites

c'est à mon sens le seul module qui s'occupe de newsletter sur le site..

J'ai sauvegardé le dossier avant de le supprimer, voici le fichier, mais je n'entend pas grand chose au php T-T

ps_emailsubscription.php

Share this post


Link to post
Share on other sites

Peut-etre s'agit-il du module blocknewsletter , mais impossible de le supprimer par ftp..

Je vais contacter mon hébergeur..

 

Merci beaucoup d'avoir pris le temps de me repondre en tout cas !

 

Bon weekend

Share this post


Link to post
Share on other sites

Répondez à ma question....

il y a 29 minutes, Eolia a dit :

Ce fichier existe-t-il toujours ?

/home/webmaster/www/public_html/target-shop/override/modules/ps_emailsubscription/ps_emailsubscription.php

Si oui, supprimez-le et videz le cache Prestashop

Share this post


Link to post
Share on other sites

Oui je l'ai supprimé, j'ai même supprimé le dossier en entier.

Malgré cela et le cache vidé j'ai toujours erreur 500.

Share this post


Link to post
Share on other sites

Vous avez supprimé le dossier /override ????

Le message d'erreur est toujours le même ?

Share this post


Link to post
Share on other sites

J'ai supprimé le dossier ps-emailsubscription

 

maintenant le message est :

 

 

La propriété Address->lastname est vide.
at line 1004 in file classes/ObjectModel.php

999. } 1000. 1001. $message = $this->validateField($field, $this->$field); 1002. if ($message !== true) { 1003. if ($die) { 1004. throw new PrestaShopException($message); 1005. } 1006. 1007. return $error_return ? $message : false; 1008. } 1009. }

ObjectModelCore->validateFields - [line 292 - classes/ObjectModel.php]

ObjectModelCore->getFields - [line 561 - classes/ObjectModel.php]

ObjectModelCore->add - [line 187 - classes/Address.php] - [2 Arguments]

AddressCore->add - [line 516 - classes/ObjectModel.php] - [2 Arguments]

ObjectModelCore->save - [line 66 - classes/form/CustomerAddressPersister.php]

CustomerAddressPersisterCore->save - [line 160 - classes/form/CustomerAddressForm.php] - [2 Arguments]

CustomerAddressFormCore->submit - [line 90 - classes/checkout/CheckoutAddressesStep.php]

CheckoutAddressesStepCore->handleRequest - [line 59 - classes/checkout/CheckoutProcess.php] - [1 Arguments]

CheckoutProcessCore->handleRequest - [line 265 - controllers/front/OrderController.php] - [1 Arguments]

OrderControllerCore->initContent - [line 291 - classes/controller/Controller.php]

ControllerCore->run - [line 515 - classes/Dispatcher.php]

DispatcherCore->dispatch - [line 28 - index.php]

Share this post


Link to post
Share on other sites

Difficile de vous suivre...

Je vous ai demandé de controler que l'override concerné n'existait plus, je ne vous parlais pas du dossier du module.

Et à présent ce n'est plus du tout la même erreur.

il y a un nom de famille dans votre formulaire ? Est-il rempli ?

Share this post


Link to post
Share on other sites

Bon j'ai mis entre commentaires la partie qui spécifie que si le last name n'est pas validé, un message d'erreur s'affiche   (dans classes/ObjectModel.php )

 

  $message = $this->validateField($field, $this->$field);
            /*if ($message !== true) {
                if ($die) {
                    throw new PrestaShopException($message);
                }

                return $error_return ? $message : false;
            }*/
        }

        return true;
    }

 

et du coup cela fonctionne..

Share this post


Link to post
Share on other sites

Et du coup prestashop ne validera plus jamais aucune propriété pour tous les objets...

Bonne chance pour la suite^^

Share this post


Link to post
Share on other sites

Je me doute bien que c'est un bricolage, mais il fallait débloquer cette situation à très court terme.

Vous avez une idée de la procédure à utiliser pour corriger ça ?

 

Share this post


Link to post
Share on other sites

Relis le topic et suis les recommendations qui t'on été données!

Share this post


Link to post
Share on other sites

Très bien. Merci de ta réponse également.

Pour être sur et développer un peu vos indications :

je supprime /home/webmaster/www/public_html/target-shop/override/modules/ps_emailsubscription/ps_emailsubscription.php 

je clear le cache

Je regarde dans debug

 

c'est bien ça ?

 

Share this post


Link to post
Share on other sites

Pour l'instant je ne peux pas réinstaller le dossier /home/webmaster/www/public_html/target-shop/override/modules/ps_emailsubscription  dans les modules, je n'ai pas la permission et ne peux changer les droits chmod. Mon hébergeur devrait débloquer ça demain..

Share this post


Link to post
Share on other sites

Réinstaller ? On vous demande de supprimer...

Share this post


Link to post
Share on other sites

J'ai bien compris ; vous me demander de supprimer  /home/webmaster/www/public_html/target-shop/override/modules/ps_emailsubscription/ps_emailsubscription.php 

or comme je vous l'avais écris j'ai carrément supprimé le dossier ps_emailsubscription.

Je voulais donc le réinstaller sans le fichier ps_emailsubscription.php , activer le debug comme vous me l'avez conseillé.

Share this post


Link to post
Share on other sites

Bonjour,

 

Le dossier ps_emailsubscription est présent sans le fichier ps_emailsubscription.php

en debug cela s'affiche lorsque je veux passer commande  :

 

La propriété Address->lastname est vide.
at line 1004 in file classes/ObjectModel.php

999. } 1000. 1001. $message = $this->validateField($field, $this->$field); 1002. if ($message !== true) { 1003. if ($die) { 1004. throw new PrestaShopException($message); 1005. } 1006. 1007. return $error_return ? $message : false; 1008. } 1009. }

ObjectModelCore->validateFields - [line 292 - classes/ObjectModel.php]

ObjectModelCore->getFields - [line 48 - classes/AddressChecksumCore.php]

AddressChecksumCore->generateChecksum - [line 51 - classes/checkout/CartChecksum.php] - [1 Arguments]

CartChecksumCore->generateChecksum - [line 227 - controllers/front/OrderController.php] - [1 Arguments]

OrderControllerCore->restorePersistedData - [line 262 - controllers/front/OrderController.php] - [1 Arguments]

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