Jump to content

Bogue dans le BO sur le panier [PrestaShopException]


Recommended Posts

J'étais en train de tester les transporteurs affichés selon les pays.

 

J'ai créé des nouvelles zone (France, Zone 1 (Italie, Espagne..), Zone 2 (d'autres pays...).

 

J'ai associé mes transporteurs selon les zones et en testant sur le front j'ai créé un panier et changer mon adresse de France à une nouvelle en Italie.

 

Aucun transporteur s'affiche en front (autre sujet dans le forum), mais je peux passer à l'étape paiement.

Par contre pour USA il me met 'aucun transporteur' pour ce pays.

 

Là je reviens dans le BO pour voir les paniers et la erreur :

 

http://www.mylittleconfiserie.fr/adminxxxxxx/index.php?controller=AdminCarts&token=xxxxxxx

 

[PrestaShopException]

Invalid address #21
at line 401 in file classes/Address.php

396. // if an id_address has been specified retrieve the address
397. if ($id_address) {
398. $address = new Address((int)$id_address);
399.
400. if (!Validate::isLoadedObject($address)) {
401. throw new PrestaShopException('Invalid address #'.(int)$id_address);
402. }
403. } elseif ($with_geoloc && isset($context->customer->geoloc_id_country)) {
404. $address = new Address();
405. $address->id_country = (int)$context->customer->geoloc_id_country;
406. $address->id_state = (int)$context->customer->id_state;

 

Je ne sais pas où si c'est le bon endroit pour poster les bogues, mais j'espère que quelqu'un va regarder et trouver l'erreur.

Cela résoudra peut-être les soucis avec les transporteurs.

Emmanuel.

Link to comment
Share on other sites

Bonjour,

 

Est-ce que les adresses proviennent d'un import ?

 

Il semblerai que les données de l'adresse 21 ne soient pas valides.

 

Il faudrait que tu ailles voir cette adresse 21, dans l'admin si possible, sinon directement en base de donnée. Tu devrais y voir des caractères interdits sinon le problème est ailleurs ...

Link to comment
Share on other sites

Bonjour,

 

Merci pour l'info.

 

Pour info, la ligne 21 est une adresse en Italie :

21 10 134 1 0 0 0 Italie   Dubois Emmanuel 5 rue Italie   25010 POZZOLENGO   012315161661       2015-09-28 11:50:56 2015-09-28 11:50:56 1 0

 

J'en ai vu une autre qui a de se créer toute seule :

 

32 8 0 4 0 0 0 So Colissimo - 29-09-2015   Dubois Emmanuel 90 rue Amelot   75011 Paris |   0143380983     2015-09-29 18:15:25 2015-10-06 01:32:32 1  

 

J'ai supprimé les 2 adresses en local dans la table "ps_address" mais il me fait toujours la même erreur alors qu'il n'y a plus d'adresse # 21 dans la base !!!

 

J'ai aussi effacé le cache. On ne sait jamais.

 

Pour info, je suis en erreur 500 dans le BO en prod depuis hier soir. Impossible de m'y connecter ! C'est la misère.

 

Emmanuel

Link to comment
Share on other sites

Encore moi.

 

J'ai essayer via le module de nettoyage de Prestashop :

En réparant les erreurs il m'a trouvé cela : 

 DELETE FROM `ps_cart_product` WHERE `id_cart` NOT IN (SELECT `id_cart` FROM `ps_cart`)
    3 ligne(s)
    DELETE FROM `ps_module_currency` WHERE `id_currency` NOT IN (SELECT `id_currency` FROM `ps_currency`)
    1 ligne(s)
    DELETE FROM `ps_stock_available` WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product`)
    2 ligne(s)
 
MAIS cela n'a rien changé.
 
J'ai donc SUPPRIME via ce module toutes les clients, paniers, commandes, connexions, visiteurs, stats...
 
Cela refonctionne en local. Plus de message d'erreur, mais cela n'est pas une bonne méthode pour résoudre le problème en prod ! Je ne peux pas perdre toutes mes commandes !
 
Emmanuel.
Link to comment
Share on other sites

encore une autre fois :

 

Une fois le nettoyage fait, j'ai ré-installé ma base de quand il y avait une erreur (le 5 après-midi) et l'erreur est revenue.

J'ai comparé la différence entre la backup de la base du 5 au matin et du 5 après-midi et il manquait l'adresse # 10, 21, 22.

 

Je crois que je les avais supprimé via le  compte client sur le font pour éviter des erreurs !

 

J'ai ré-inserré ces adresse depuis la sauvegarde du 5 matin mais il me mettait maintenant un problème avec une adresse #60 qui n'existait pas (pas plus de 40 adresses).

 

J'ai donc vidé les tables "ps_address" et "ps_cart" et j'ai ré-inserré ces 2 tables via le backup du matin et cela FONCTIONNE (en local pour le moment).

 

Il doit y avoir de tels liens entre les 2 bases que un état de l'une ne va pas sans l'état de l'autre.

 

Voilà !

 

Maintenant je vais m'attaquer à la prod qui pourtant à le backup de tout le site du 5 au matin mais qui marche en front et pas en back !

 

Merci et à bientôt.

 

Emmanuel.

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