Jump to content

Erreur à la finalisation d'une commande


Recommended Posts

Lorsque le client clique sur valider ma commande, quelque soit le moyen de paiement, il s'affiche une page d'erreur:

"La page xxx.fr ne fonctionne pas Impossible de traiter cette demande via xxx.fr à l'heure actuelle.

500 Rafraicher votre page ".

Si on rafraichit la page, il dit que la commande est déjà enregistrée.

Du coup dans le BO, la commande existe bien, mais sans statut.

Si je rajoute un statut avec email, comme " préparation en cours", même message d'erreur.

Si je rajoute un statut sans email, le statut change bien.

Je viens de mettre ma boutique à jour en 1.6.15.

 

 

D'où peut venir ce bug? NB: j'utilise Chrome et Edge

Merci pour votre aide

Link to comment
Share on other sites

Activez l'affichage des erreurs pour en savoir plus, en modifiant cette ligne au début du fichier config/defines.inc.php :

 

define('_PS_MODE_DEV_', false);

 

par

 

define('_PS_MODE_DEV_', true);

 

Et donnez-nous l'erreur après avoir retenté une commande

Link to comment
Share on other sites

Bonjour Eolia.

Voici un message d'erreur losrque je relance l'email du statut de la commande;

Fatal error: Class 'Swift_RecipientList' not found in /htdocs/prestashop/override/classes/Mail.php on line 132

 

De plus dès que j'ouvre l'onglet Commande du BO voici les messages d'erreurs:

Unknown error à la ligne 458 du fichier /htdocs/prestashop/override/classes/Mail.php

[2048] Declaration of Mail::Send() should be compatible with MailCore::Send($id_lang, $template, $subject, $template_vars, $to, $to_name = NULL, $from = NULL, $from_name = NULL, $file_attachment = NULL, $mode_smtp = NULL, $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = NULL, $bcc = NULL, $reply_to = NULL)
 
Warning à la ligne 27 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(/htdocs/prestashop/tools/swift/Swift.php): failed to open stream: No such file or directory
 
Warning à la ligne 27 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(): Failed opening '/htdocs/prestashop/tools/swift/Swift.php' for inclusion (include_path='/htdocs/prestashop/tools/htmlpurifier/standalone:.:/usr/share/php')
 
Warning à la ligne 28 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(/htdocs/prestashop/tools/swift/Swift/Connection/SMTP.php): failed to open stream: No such file or directory
 
Warning à la ligne 28 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(): Failed opening '/htdocs/prestashop/tools/swift/Swift/Connection/SMTP.php' for inclusion (include_path='/htdocs/prestashop/tools/htmlpurifier/standalone:.:/usr/share/php')
 
Warning à la ligne 29 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(/htdocs/prestashop/tools/swift/Swift/Connection/NativeMail.php): failed to open stream: No such file or directory
 
Warning à la ligne 29 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(): Failed opening '/htdocs/prestashop/tools/swift/Swift/Connection/NativeMail.php' for inclusion (include_path='/htdocs/prestashop/tools/htmlpurifier/standalone:.:/usr/share/php')
 
Warning à la ligne 30 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(/htdocs/prestashop/tools/swift/Swift/Plugin/Decorator.php): failed to open stream: No such file or directory
 
Warning à la ligne 30 du fichier /htdocs/prestashop/override/classes/Mail.php
[2] include_once(): Failed opening '/htdocs/prestashop/tools/swift/Swift/Plugin/Decorator.php' for inclusion (include_path='/htdocs/prestashop/tools/htmlpurifier/standalone:.:/usr/share/php')
Link to comment
Share on other sites

Ben oué la classe swift n'a plus la même arborescence dans la 1.6.1.5 et du coup votre override se plante.

A corriger dans le code ou voir avec son developpeur

 

Le chemin n'est plus /htdocs/prestashop/tools/swift/Swift.php mais /htdocs/prestashop/tools/swift/classes/Swift.php

 

Pour ce fichier au moins...

Link to comment
Share on other sites

Merci.

J'ai mis en ".Old" le dossier swift de la 1.615 et remplacé par celui de la 1.6.14.

J'ai remis aussi l'ancien fichier mail.php dans le dossier classes. Cela marche mieux quand je renvoie l'email (j'en ai une copie qui arrive automatiquement dans ma boite mail)

Mais il me reste ce message suivant quand je vais dans les commandes BO:

Unknown error à la ligne 458 du fichier /htdocs/prestashop/override/classes/Mail.php
[2048] Declaration of Mail::Send() should be compatible with MailCore::Send($id_lang, $template, $subject, $template_vars, $to, $to_name = NULL, $from = NULL, $from_name = NULL, $file_attachment = NULL, $mode_smtp = NULL, $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = NULL, $bcc = NULL, $reply_to = NULL)

Une idée de ce qui est à modifier?.

Link to comment
Share on other sites

Ben la fonction send() utilisée dans l'override doit avoir exactement le même nombre de paramètres que celle de la classe Mail.php du coeur.

 

Mais bon si vous commencez à démonter votre boutique à cause d'un module vous ne prenez pas le bon chemin... 

Link to comment
Share on other sites

Un réponse de ndiaga sur le même sujet en anglais:

"This class (Mail.php)maybe used by a module. Try to delete class_index.php from the cache folder instead.

Put the Mail.php in overrides again and delete class_index.php just for a test."

Apparemment cela marche et ma version 1.6.15 semble remarcher correctement.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...