aishosho Posted March 20, 2013 Share Posted March 20, 2013 bonjour tous le monde, je suis débutante en prestashop et je travaille sur un site d'une impression, j'ai ajouter dans la page product.tpl un tableau pour afficher les déclinaison de produit avec un bouton ajouter au panier pour chaque ligne de tableau,mon probléme que quand je clique pour ajouter une déclinaison au panier je trouve le produit par defaut ,je pense qu'il faut changer les paramètre mais je sais pas comment voila mon code : <table border="1"> <caption>Liste des déclinaisons</caption> <thead> <!-- En-tête du tableau --> <tr> <th>Réference</th> {foreach from=$groups item='attributearray' key='groupindex'} <th>{$attributearray.name}</th> {/foreach} <th>Prix</th> <th> Réference</th> </tr> <tbody> <!-- Corps du tableau --> {foreach from=$combinations item='combination' key='combinationId'} <tr> <td>{$combination.reference}</td> {foreach from=$combination.attributes_values item='a' key='groupindex'} <td>{$a}</td> {/foreach} {if $priceDisplay >= 0 && $priceDisplay <= 2} {if $combination.price != 0} <td>{convertPrice price=$combination.price + $product->price}</td> {else} <td>{convertPrice price=$productPrice}</td> {/if} {/if} <td> <form id="buy_block" {if $PS_CATALOG_MODE AND !isset($groups) AND $product->quantity > 0}class="hidden"{/if} action="{$link->getPageLink('cart.php')}" method="post"> <p{if (!$allow_oosp && $product->quantity <= 0) OR !$product->available_for_order OR (isset($restricted_country_mode) AND $restricted_country_mode) OR $PS_CATALOG_MODE} style="display: none;"{/if} id="add_to_cart" class="buttons_bottom_block"><input type="submit" name="Submit" value="{l s='Add to cart'}" class="exclusive" /></p> {if isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS}{$HOOK_PRODUCT_ACTIONS}{/if} <div class="clear"></div> </form></td> </tr> {/foreach} </tbody> </thead> </table> et la c'est le code de la bouton ajouter au panier <form id="buy_block" {if $PS_CATALOG_MODE AND !isset($groups) AND $product->quantity > 0}class="hidden"{/if} action="{$link->getPageLink('cart.php')}" method="post"> <p{if (!$allow_oosp && $product->quantity <= 0) OR !$product->available_for_order OR (isset($restricted_country_mode) AND $restricted_country_mode) OR $PS_CATALOG_MODE} style="display: none;"{/if} id="add_to_cart" class="buttons_bottom_block"><input type="submit" name="Submit" value="{l s='Add to cart'}" class="exclusive" /></p> {if isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS}{$HOOK_PRODUCT_ACTIONS}{/if} <div class="clear"></div> </form> merci d'avance Link to comment Share on other sites More sharing options...
loulou66 Posted March 20, 2013 Share Posted March 20, 2013 coucou dans le fichier product.tpl tu as des inputs cachés : <!-- hidden datas --> <p class="hidden"> <input type="hidden" name="token" value="{$static_token}" /> <input type="hidden" name="id_product" value="{$product->id|intval}" id="product_page_product_id" /> <input type="hidden" name="add" value="1" /> <input type="hidden" name="id_product_attribute" id="idCombination" value="" /> </p> je pense qu'il faut que tu rajoute ces lignes dans le "tbody" de ton tableau surtout le dernier input qui correspond a l'ID de la combinaison ces informations doivent être envoyé a l'ajax du panier quand tu clique sur le bouton. quand on clique sur les couleur du "color picker" de la fiche produit ou que tu change les attributs (poids ,tailles, etc..) cette id change (tu peut le voir avec chrome+F12) donc pour chaque produit de ton tableau tu doit avoir ces inputs cachés pour qu'il envoi le bon produit avec le bon ID au panier. @++ loulou66 Link to comment Share on other sites More sharing options...
aishosho Posted March 20, 2013 Author Share Posted March 20, 2013 coucou dans le fichier product.tpl tu as des inputs cachés : <!-- hidden datas --> <p class="hidden"> <input type="hidden" name="token" value="{$static_token}" /> <input type="hidden" name="id_product" value="{$product->id|intval}" id="product_page_product_id" /> <input type="hidden" name="add" value="1" /> <input type="hidden" name="id_product_attribute" id="idCombination" value="" /> </p> je pense qu'il faut que tu rajoute ces lignes dans le "tbody" de ton tableau surtout le dernier input qui correspond a l'ID de la combinaison ces informations doivent être envoyé a l'ajax du panier quand tu clique sur le bouton. quand on clique sur les couleur du "color picker" de la fiche produit ou que tu change les attributs (poids ,tailles, etc..) cette id change (tu peut le voir avec chrome+F12) donc pour chaque produit de ton tableau tu doit avoir ces inputs cachés pour qu'il envoi le bon produit avec le bon ID au panier. @++ loulou66 merci bien loulou66 pour m'avoir répondu j'ai bien fais ce que vous m'avez dit j'ai copier les champ hidden et je les ai mis avant la fermeture de mon "tbody" mais ça marche pas le même problème Link to comment Share on other sites More sharing options...
loulou66 Posted March 20, 2013 Share Posted March 20, 2013 (edited) coucou Ha zut je pensais que ca marcherais as tu bien vider le cache de ton navigateur et de prestashop après la modif ? si ton site et sur le net peut tu mettre l'url ? sinon regarde avec chrome+F12 pour chaque produit de ton tableau si la valeur du 4 ieme input caché change <input type="hidden" name="id_product_attribute" id="idCombination" value="" /> c'est peut être un bug du forum mais dans ta réponse les name des imput n'ont plus les underscore "_" name="id_product_attribute à vérifie si ils ont pas sauté lors de la copie @++ loulou66 Edited March 20, 2013 by loulou66 (see edit history) Link to comment Share on other sites More sharing options...
aishosho Posted March 21, 2013 Author Share Posted March 21, 2013 hii j'ai bien mis les underscore c'est juste un bug de forum voila ma page je fais que des teste j'ai pas encore commencée mon site http://server.mediazain.com/prestas/index.php?id_product=8&controller=product#/couleur-metal/icu-intel_core_2_duo_a_18_ghz comment puis-je vérifier la valeur de id ?? je suis en mode firbug mais je vois pas mon tableau merci bien loulou Link to comment Share on other sites More sharing options...
loulou66 Posted March 21, 2013 Share Posted March 21, 2013 coucou je viens de regardez ton site alors il faut mettre les hidden data entre la balise <td> et le <form id=buy_block............. ce qui va attribuer a chaque produit du tableau l'id de la conbinaison @++ loulou66 Link to comment Share on other sites More sharing options...
aishosho Posted March 21, 2013 Author Share Posted March 21, 2013 merci énormément loulou pour vos réponse j'ai bien fais ce que vous m'avez dit mais le méme probléme Link to comment Share on other sites More sharing options...
stevent Posted August 1, 2013 Share Posted August 1, 2013 Bonjour ! Ma question est un peu liée à votre sujet je pense. J'ai ajouté un champ input dans mon détail de produit en modifiant mon product.tpl mais je suppose que ca ne suffit pas car, lorsque je l'ajoute au panier, je trouve pas mon champ encodé dans ma commande. ( logique en fait mais je ne sais pas trop comment m'y prendre.. ) Voici le code ajouté : <!-- longueur désirée --> <p id="longueur"> <label>{l s='Longueur:'}</label> <input type="text" name="qty" id="longueur" class="text" value="0" size="2" maxlength="3" /> </p> Deux questions : 1. Je désire donc faire le nécéssaire pour que ce champ soit une nouvelle déclinaison qui s'ajoute dans ma commande à l'ajout du panier. 2. Je désire ajouter un IF pour que ce champ ne s'affiche QUE pour certains produits. Je suppose qu'il suffit de faire : {if PRODUIT == ID DU PRODUIT}code de mon input;{/if} mais je ne sais pas ce que je dois utiliser à la place de PRODUIT et de ID DU PRODUIT.. Quelqu'un peut il m'aider?? merci à vous !! Link to comment Share on other sites More sharing options...
atomikado Posted September 30, 2013 Share Posted September 30, 2013 (edited) bonjour, j'ai le même pb que aishosho, quelqu'un a-t-il trouvé la solution ? Merci Edited September 30, 2013 by atomikado (see edit history) Link to comment Share on other sites More sharing options...
aishosho Posted April 23, 2014 Author Share Posted April 23, 2014 j'ai confrontée le méme probléme SVP aide , au clique sur ajouter au panier la déclinaison par defaut d'ajoute , MErci de me répondre 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