Jump to content

[Résolue] BO création commande chargement 'infini'


Recommended Posts

Bonjour à tous,

Je rencontre un problème sur notre boutique en ligne que je n'arrive pas à résoudre, et ce problème devient de plus en plus fréquent, ce qui pose des difficultés à notre service client.

Le problème :
Quand on est dans le back-office et que l'on crée une nouvelle commande, on sélectionne un client, et normalement, si tout va bien : on a la liste des paniers et des commandes. Cependant, parfois, nous sommes confrontés à un 'chargement infini' qui nous bloque. La seule solution est alors de changer de client puis de revenir sur le client précédent pour que la liste s'actualise. Sans cela, nous ne pouvons pas accéder aux autres panneaux pour créer la commande du client. Voir la capture d'écran ci-jointe.


image.thumb.png.4f77ec8ad2f2379ffb02a39db879b99c.png

Après avoir cherché un peu dans la console, je constate que la requête aboutit à une erreur 500.

image.png.1d4ac3ca0637f890299d9f812f9ab27e.png

Malheureusement, le mode debug ne m'est pas d'une grande aide dans ce cas, car voici le résultat que j'obtiens dans la consol -> Aperçu :

{,…}
message:"Une erreur inattendue s'est produite. [Symfony\\Component\\Debug\\Exception\\ContextErrorException code 0] : Notice: Trying to get property 'id' of non-object."

Question : Existe-t-il une solution pour résoudre ce problème ? Ou avez-vous déjà rencontré ce problème ?

Je m'excuse si ce problème a déjà été abordé, mais je n'ai trouvé aucun sujet ni réponse à ce problème sur le forum.
Je vous remercie par avance pour votre aide.

Informations sur la boutique :

  • Version PrestaShop : 1.7.8.10
  • Version PHP : 7.4
  • Multi-Boutique : Oui

Si vous avez besoin de plus d'infos ou autre, je reste à votre disposition.

Edited by croual (see edit history)
Link to comment
Share on other sites

  • 4 weeks later...

... Merci pour votre réactivité, mais j'ai finalement trouvé une solution au problème.

Cause du problème :
Je ne sais pas par quelle magie cela et possible, mais un hook destiné au front-end était appelé dans le back-office. Il tentait de charger un objet client pour vérifier s'il était bien connecté, ce qui créait une erreur 500 et était à l'origine de mon problème.

Résolution :
j'ai modifier je ne sais plus quelle fichier pour ajouter quelque chose de similaire à ceci :

if($this->context->customer == null) {
	return;
}
if ($this->context->customer->isLogged() === false) {
	return;
}

Ajout de vérifications pour empêcher le chargement d'un objet côté back-office qui ne peut pas être chargé à cet emplacement, étant donné qu'il est prévu pour le front-end.

Les vérifications ajoutées permettent de :

 

  • Vérifier si l'objet existe dans le contexte actuel.
  • SI l'objet existe, on vérifie s'il est connecté.

Seulement si c'est deux conditions sont remplie, on exécute le code. Cela évite les erreurs 500 dues à l'utilisation de fonctions (dans ce cas, isLogged()) sur un objet null ou inexistant.
 

Link to comment
Share on other sites

  • croual changed the title to [Résolue] BO création commande chargement 'infini'

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...