lordbdp Posted April 18, 2013 Share Posted April 18, 2013 (edited) Bonjour, Je voudrais savoir comment ajouter - et + à coté de la valeur de la quantité affichée sur la fiche produit en front-office afin que le client augmente ou diminue la valeur de la quantité, tout en lui laissant la possibilité de saisir la valeur qu'il souhaite. Merci d'avance pour votre aide. Edited April 20, 2013 by lordbdp (see edit history) Link to comment Share on other sites More sharing options...
Superbegood31 Posted April 18, 2013 Share Posted April 18, 2013 Bonjour, http://www.prestarocket.com/blog/prestashop-page-produit-quantite-jquery/ 1 Link to comment Share on other sites More sharing options...
lordbdp Posted April 18, 2013 Author Share Posted April 18, 2013 NICKEL !!!!!!!!! En plus j'ai une nouvelle source d'informations Merci BCP ^^ Link to comment Share on other sites More sharing options...
Bondaty and Co Posted April 19, 2013 Share Posted April 19, 2013 Merci de bien vouloir mettre votre message en résolu Link to comment Share on other sites More sharing options...
Vectorus Posted April 19, 2013 Share Posted April 19, 2013 Super, je cherchais justement cette fonction, merci Link to comment Share on other sites More sharing options...
lordbdp Posted April 19, 2013 Author Share Posted April 19, 2013 Merci de bien vouloir mettre votre message en résolu Comment je change le statut ? je ne trouve pas.... Link to comment Share on other sites More sharing options...
Vectorus Posted April 19, 2013 Share Posted April 19, 2013 Topic [Résolu] Si, après avoir posté dans un topic, vous trouvez une solution à votre problème, merci de venir le signaler et de décrire cette solution. Il n'y a rien de plus frustrant pour les utilisateurs qui tomberont plus tard sur votre post que de lire "C'est bon, j'ai trouvé, merci…". De plus, si vous êtes l'auteur du topic pour lequel une solution a été apportée, éditer le premier post et ajouter la mention [Résolu] au début du titre. Pour marquer un topic comme [Résolu] : - Editer le premier post du topic en cliquant sur le bouton "Editer", - Cliquer sur le bouton "Utiliser l'éditeur complet", - Ajouter la mention "[Résolu] " au début du titre de votre topic et cliquez sur le bouton "Envoyer le message modifié". Les personnes n'appliquant pas ceci (à la demande des modérateurs ou des autres utilisateurs) verront leurs nouveaux topics fermés le temps d'y remédier. Link to comment Share on other sites More sharing options...
lordbdp Posted April 20, 2013 Author Share Posted April 20, 2013 (edited) merci pour l'info Edited April 21, 2013 by lordbdp (see edit history) Link to comment Share on other sites More sharing options...
lordbdp Posted May 7, 2013 Author Share Posted May 7, 2013 (edited) Je reviens sur le sujet pour connaître une autre solution pour avoir + et - sur le coté du nb de qté et l'un au dessous de l'autre. Comme dans le récapitulatif de commande . Comme je ne trouve pas à quelle page le récapitulatif se trouve, je ne peux voir le code... Merci d'avance. Edited May 9, 2013 by lordbdp (see edit history) Link to comment Share on other sites More sharing options...
lordbdp Posted May 10, 2013 Author Share Posted May 10, 2013 Alors j'ai tenté de modifier <!-- quantity wanted --> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity :'}</label> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> </p> par <td class="cart_quantity"{if isset($customizedDatas.$productId.$productAttributeId) AND $quantityDisplayed == 0} style="text-align: center;"{/if}> {if isset($cannotModify) AND $cannotModify == 1} <span style="float:left"> {if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count} {else} {$product.cart_quantity-$quantityDisplayed} {/if} </span> {else} {if isset($customizedDatas.$productId.$productAttributeId) AND $quantityDisplayed == 0} <span id="cart_quantity_custom_{$product.id_product}_{$product.id_product_attribute}_{$product.id_address_delivery|intval}" >{$product.customizationQuantityTotal}</span> {/if} {if !isset($customizedDatas.$productId.$productAttributeId) OR $quantityDisplayed > 0} <div class="cart_quantity_button"> <a rel="nofollow" class="cart_quantity_up" id="cart_quantity_up_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery|intval}&token={$token_cart}")}" title="{l s='Add'}"><img src="{$img_dir}icon/quantity_up.gif" alt="{l s='Add'}" width="14" height="9" /></a><br /> {if $product.minimal_quantity < ($product.cart_quantity-$quantityDisplayed) OR $product.minimal_quantity <= 1} <a rel="nofollow" class="cart_quantity_down" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery|intval}&op=down&token={$token_cart}")}" title="{l s='Subtract'}"> <img src="{$img_dir}icon/quantity_down.gif" alt="{l s='Subtract'}" width="14" height="9" /> </a> {else} <a class="cart_quantity_down" style="opacity: 0.3;" href="#" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}" title="{l s='You must purchase a minimum of %d of this product.' sprintf=$product.minimal_quantity}"> <img src="{$img_dir}icon/quantity_down.gif" width="14" height="9" alt="{l s='Subtract'}" /> </a> {/if} </div> <input type="hidden" value="{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count}{else}{$product.cart_quantity-$quantityDisplayed}{/if}" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}_hidden" /> <input size="2" type="text" autocomplete="off" class="cart_quantity_input" value="{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count}{else}{$product.cart_quantity-$quantityDisplayed}{/if}" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}" /> {/if} {/if} </td> Mais je confirme que c'est pas ça du tout. Pourtant ce sont ces lignes que l'on retrouve dans quasiment chaque *product*.tpl du thème... Link to comment Share on other sites More sharing options...
Vectorus Posted May 10, 2013 Share Posted May 10, 2013 Je n'ai pas testé mais ça devrait resembler à quelque chose comme ça dans le product.tpl <!-- quantity wanted --> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity :'}</label> <span class="btn-qty"><a href="#" class="btn-down">-</a></span> <br /> <span class="btn-qty"><a href="#" class="btn-up">+</a></span> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> </p> Après il faudra surement jouer aussi avec le css pour avoir le style désiré. Link to comment Share on other sites More sharing options...
lordbdp Posted May 16, 2013 Author Share Posted May 16, 2013 Ça me donne ça ensuite : Link to comment Share on other sites More sharing options...
Vectorus Posted May 17, 2013 Share Posted May 17, 2013 Comme ça peut-être : <!-- quantity wanted --> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity :'}</label> <div style="height:40px;width:25px;"><span class="btn-qty"><a href="#" class="btn-down">-</a></span> <br /> <span class="btn-qty"><a href="#" class="btn-up">+</a></span></div> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> </p> Il faut jouer avec height:XXpx;width:XXpx; et le css pour obtenir le résultat souhaité ensuite. Link to comment Share on other sites More sharing options...
lordbdp Posted May 21, 2013 Author Share Posted May 21, 2013 Merci ^^ Link to comment Share on other sites More sharing options...
Vectorus Posted May 21, 2013 Share Posted May 21, 2013 C'est bon ça donne ce que vous souhaitiez ? Content pour vous Link to comment Share on other sites More sharing options...
lordbdp Posted May 22, 2013 Author Share Posted May 22, 2013 Juste une dernière question : Comment faire pour remplacer les boutons CSS par des images que j'aurais stocké dans le dossier img/icone du theme ? Merci encore. Link to comment Share on other sites More sharing options...
Vectorus Posted May 22, 2013 Share Posted May 22, 2013 Avec ça par exemple : background : #codecouleur url(adressedelimage.png) no-repeat left top; Link to comment Share on other sites More sharing options...
lordbdp Posted May 22, 2013 Author Share Posted May 22, 2013 Jai fait ça : dans global.css, j'ai ajouté : #bt_plus { background : #eee url(../img/plus.png) no-repeat left top; } #bt_moins { background : #eee url(../img/moins.png) no-repeat left top; } Et dans product.tpl : <!-- quantity wanted --> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity :'}</label> <span class="btn-qty"><a href="#" class="bt_moins">-</a></span> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> <span class="btn-qty"><a href="#" class="bt_plus">+</a></span> </p> Mais aucun changement ensuite ne se fait Link to comment Share on other sites More sharing options...
Vectorus Posted May 22, 2013 Share Posted May 22, 2013 Il faut peut-être ajouter des width:??px;height:??px; aux dimensions de l'image. Link to comment Share on other sites More sharing options...
lordbdp Posted May 23, 2013 Author Share Posted May 23, 2013 (edited) Alors j'ai fait de cette façon mais maintenant j'ai des carrés noirs à la place : Dans global.css : /* Boutons + et - pour quantite ******************************************************************* */ .bt_plus { background:url(../img/plus.png) no-repeat left top; } .bt_moins { background:url(../img/moins.png) no-repeat left top; } Dans product.tpl : <!-- quantity wanted --> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity :'}</label> <span class="btn-qty"><a href="#" class="bt_moins" width:"16px" height:"21px"></a></span> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> <span class="btn-qty"><a href="#" class="bt_plus" width:"16px" height:"21px"></a></span> </p> J'ai testé aussi comme cela mais aucun changement : <!-- quantity wanted --> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity :'}</label> <span class="btn-qty"><a href="#" img scr="../img/moins.png" alt="Moins" width="16px" height="21px"></a></span> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> <span class="btn-qty"><a href="#" img scr="../img/plus.png" alt="Plus" width="16px" height="21px"></a></span> </p> Comment faire disparaître ces carrés noirs ? Edited May 23, 2013 by lordbdp (see edit history) Link to comment Share on other sites More sharing options...
Vectorus Posted May 23, 2013 Share Posted May 23, 2013 Pour les width:??px;height:??px; je les pensais plutôt au niveau du css, et si ça ne fonctionne pas je ne vois pas alors. Link to comment Share on other sites More sharing options...
lordbdp Posted May 24, 2013 Author Share Posted May 24, 2013 (edited) J'ai trouvé d'où il y a conflit mais je ne vois pas comment changer sans tout faire disparaître. En plus de global.css il y a aussi dans product.css : /* QUANTITY ##################################################################### */ .btn-qty{display: inline-block;}.btn-qty a{width:20px;height:20px;background:#000;color:#fff;display:none;text-align:center;line-height:18px;text-decoration:none;font-weight:bold;}.btn-qty a:hover{background:#333333;color:#fff;} Si j'ai le maleur de modifier ou supprimer un morceau de ce code, tout disparait... C'est soit cette partie à modifier soir dans le footer.tpl la partie Javascript: <!-- on affiche le script uniquement si l'on se trouve sur la page produit --> {if $page_name eq 'product'} {literal} <script type="text/javascript">// <![CDATA[ $(document).ready(function() { var btn = $(".btn-qty a"); //on affiche les boutons +/- $(btn).css('display','block'); $(btn).click(function() { var $button = $(this); var input_qtity = $('#quantity_wanted'); var qty_value=$(input_qtity).val(); var qty_min=parseFloat($('#minimal_quantity_label').html()); var qty_min_p = $('#minimal_quantity_wanted_p'); //on vérifie si le le produit ou la combinaison a une quantité minimum de commande if($('#minimal_quantity_wanted_p').is(':hidden')){ var min=false; } else { var min=true; } //si le btn a la class btn-up, on est sur le btn + if ($button.hasClass('btn-up')) { var newVal = parseFloat(qty_value) + 1; $(input_qtity).val(newVal); $(qty_min_p).css('color',''); $(input_qtity).css('border', ''); } else { //btn - //condition pour vérifier que le champ est >= 1 if (qty_value - 1 >= 1) { //minimum de commande et qtité >= mini de commande if (min=true && qty_value - 1 >= qty_min) { var newVal = parseFloat(qty_value) - 1; $(input_qtity).val(newVal); $(qty_min_p).css('color',''); $(input_qtity).css('border', ''); } // qtité <= mini de commande else if(min=true && qty_value - 1 <= qty_min) { $(qty_min_p).css('color','red'); $(input_qtity).css('border', '1px solid red'); } } } return false; }); }); // ]]></script> {/literal} {/if} Dans quoi je me lance moi.... Edited May 24, 2013 by lordbdp (see edit history) 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