sangria777 Posted December 17, 2013 Share Posted December 17, 2013 (edited) 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 January 24, 2014 by sangria777 (see edit history) Link to comment Share on other sites More sharing options...
sangria777 Posted December 18, 2013 Author Share Posted December 18, 2013 Petit up et reformulation : Savez-vous comment prestashop trouve l'information suivante : $product.id_product_attribute ? C'est dans class>product.php ? quelle fonction ? Link to comment Share on other sites More sharing options...
sangria777 Posted January 17, 2014 Author Share Posted January 17, 2014 une piste ? Link to comment Share on other sites More sharing options...
sangria777 Posted January 17, 2014 Author Share Posted January 17, 2014 Alors une petite copie d'écran pour illustrer mon propos : J'entoure en rond la valeur de {$product.id_product_attribute} pourquoi pour certain de mes produits elle est à 0, alors que l'on voit clairement qu'il y a des déclinaisons ? Link to comment Share on other sites More sharing options...
sangria777 Posted January 23, 2014 Author Share Posted January 23, 2014 Personne ne veux me guider un peu pour comprendre comment cette variable se retrouve sur product-list.tpl ? S'il vous plait !! Link to comment Share on other sites More sharing options...
livindeadfr Posted January 23, 2014 Share Posted January 23, 2014 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 More sharing options...
sangria777 Posted January 23, 2014 Author Share Posted January 23, 2014 Bonjour livindeadfr, Et merci de leme répondre! Par contre je parle bien de la page product list et pas du panier. Est ce que tu sais ou je peux trouver la variable $product.id_product_attribute? Link to comment Share on other sites More sharing options...
coeos.pro Posted January 23, 2014 Share Posted January 23, 2014 as tu essayez de rajouter {debug} dans le fichier tpl pour voir ce que ça donne ? Link to comment Share on other sites More sharing options...
sangria777 Posted January 23, 2014 Author Share Posted January 23, 2014 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 More sharing options...
livindeadfr Posted January 23, 2014 Share Posted January 23, 2014 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 More sharing options...
coeos.pro Posted January 23, 2014 Share Posted January 23, 2014 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 More sharing options...
sangria777 Posted January 23, 2014 Author Share Posted January 23, 2014 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 More sharing options...
coeos.pro Posted January 23, 2014 Share Posted January 23, 2014 pour un produit (qui donne 0 en id_product_attribute) essaye d'enregistrer une autre déclinaison comme déclinaison par défaut pour voir si ça persiste ou non Link to comment Share on other sites More sharing options...
sangria777 Posted January 23, 2014 Author Share Posted January 23, 2014 Merci pour ta reponse car Effectivement si j ajoute une déclinaison il ne donne plus la valeur 0 en id_product_attribute ! ! Je dois bien avoir quelque chose de mal remplit ! Link to comment Share on other sites More sharing options...
coeos.pro Posted January 23, 2014 Share Posted January 23, 2014 en fait dans la table ps_product_attribute tu as default_on pour les déclinaisons par défaut, quand tu as fait l'import "maison" tu n'a certainement pas rempli cette table (ou mal) Link to comment Share on other sites More sharing options...
sangria777 Posted January 24, 2014 Author Share Posted January 24, 2014 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 More sharing options...
coeos.pro Posted January 24, 2014 Share Posted January 24, 2014 et tu mets quoi pour default_on ? 1 pour LA déclinaison par défaut et 0 pour les autres Link to comment Share on other sites More sharing options...
sangria777 Posted January 24, 2014 Author Share Posted January 24, 2014 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now