Jump to content

[résolu]valeur $product.id_product_attribute étrange


Recommended Posts

Bonjour à tous,

 

Je n'arrive pas à régler ce problème, alors je demande un peu d'aide :

 

Dans le product-list.tpl j'ai ajouté une condition pour afficher des infos quand il y a pas de déclinaison :

{if ($product.id_product_attribute==0)} {/if}

ça marche seulement j'ai certain produit qui ont des déclinaison qui remontent à 0 !!

 

J'ai regardé dans la table ps_product_attribut, si je fais une recherche sur les ref qui posent problème, je n'ai pas de id_product_attribut à 0.

 

D'ou vient cette info ? comment Prestashop va chercher le $product.id_product_attribute dans le product-list.tpl ??

 

Merci pour votre réponse !

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

  • 5 weeks later...

Bonjour,

 

Normalement, cela vient des produits dans la classe cart.

 

lorsque tu fais un panier, tout est enregistré dans les tables ps_cart et ps_cart_product.

 

Lors de l'affichage de order.php il fait appel à ces données pour calculer l'affichage et remplis un tableau avec les données. Surement dans le controller orderController.

 

En ligne 134 il fait appel a  $this->context->cart->getProducts() pour charger la liste des produits.

 

regarde déjà dans la table ce qui est enregistré. pour le panier en question. 

 

tu peux récupérer id_cart dans ton cookie.

 

++

Link to comment
Share on other sites

Quand je fais debug je vois la même chose que quand je fais afficher la variable.

Je vois que parfois la valeur est bonne et d'autre fois elle sort à 0, alors que je sais que j'ai des déclinaisons !

 

Ce que j'aimerai comprendre c'est comment il va chercher cette valeur ?

Link to comment
Share on other sites

Ha oui pardon, ton screen shop ma fait pensé à un récap panier.

 

Ben c'est un peu la meme chose tu va dans CategoryController, tu regardes par ou ça passe (ça passe par assignProductList ligne 181) qui lui meme fait appel à la classe category et la méthode getProducts() .

 

Un debugger ça aide bien...

 

 

++

Link to comment
Share on other sites

je ne sais pas trop, c'est pas une question de stock à mon avis, et le tableau de déclinaisons s'affiche correctement apparemment (c'est mon module ? http://www.coeos.pro/boutique/fr/modules-prestashop/78-liste-des-declinaisons.html) je viens de faire un test en local et il y a bien 0 quand il n'y a pas de déclinaison et sinon c'est la déclinaison par défaut.

 

 

=> tu as importé des produits/déclinaisons ou créé toi même, ou fait une mise à jour de prestashop ?

La seule explication que je vois c'est le fait qu'il n'y ai pas déclinaison par défaut enregistrée par défaut pour ces produits. Vérifie si tu as bien une ligne bleue dans la liste des déclinaisons dans le back office

Link to comment
Share on other sites

Alors linvindead : j'ai trouvé à quel endroit se fait la requête ! Elle est plus que balaise, je l'étudie un peu. J'aurai surement de questions ! En tout cas merci pour ton aide

 

cogeos.pro : oui c'est bien ton module. J'importe les produits avec un module maison, mais j'ai bien des déclinaisons pas défaut (ligne bleue). Je n'ai pas fait de mise à jour. Pour le moment, même si je cherche dans la base de donnée je ne vois pas comment il trouve le 0. moi dans les tables de product attribute je ne retrouve jamais ce 0 !!!

Link to comment
Share on other sites

Bon j'avance vraiment très doucement, le defaut_on est bien remplit

 

Car contre dans la table product, je ne remplissais pas le cache_default_attribute. Mais lorsque je le remplit directement dans la table (pour test), ça ne change pas la valeur de id_product_attribute à 0.

 

Si dans l'admin, je change la déclinaison par défaut la c'est bon. J’essaie de comparer ces 2 tables depuis ce matin, mais je ne vois pas de différence. Je commence à penser qu'il y en aurai une troisième concernée ?

Link to comment
Share on other sites

Bon cette petite pause m'a fait du bien car je viens de trouver ! Houra !

 

C'est la table product_shop qui est en cause. (je ne connaissait pas cette table)

Il y a un cache_default_attribute aussi que je ne remplissais pas !

 

(Je ne sais pas à quoi sert celui de la table product, si je ne le remplit pas ça ne pose pas de problème !)

 

En tout cas merçi beaucoup pour ton aide précieuse et rapide coeos.pro !

Ainsi qu'a livindeadfr pour m'avoir guider.

 

J'ai plus qu'a modifier le module !

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