Serial Posted September 25, 2015 Share Posted September 25, 2015 (edited) Hi, First, I add a new column in Cart (see CoupeCart.png image in attached files). In shopping-cart-product-line.tpl : <!-- Coupe de tissus --> {if $product.id_category_default != 99 && $product.id_category_default != 100 && $current_step != 'payment'} <td class="coupe_tissus" data-title="{l s='Coupe'}"> <input class="coupe_select" type="checkbox" value="no" name="checkbox_coupe_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}">Coupe</input> <div class="param_coupe {$icpClass}" name="param_coupe_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}"> <div class="coupe-content"><input id="nb_pieces" type="text" value="{$product.cart_quantity}" name="pieces_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}" style="width:40px;"/> pièce(s) x <input id="nb_metres" type="text" name="metres_{$product.id_product}_{$product.id_product_attribute}_{if $quantityDisplayed > 0}nocustom{else}0{/if}_{$product.id_address_delivery|intval}" style="width:40px;" disabled /> m</div> <input class="bouton_calculer" type="button" value="Calculer" /> </div> </td> {else $product.id_category_default == 99 || $product.id_category_default == 100 && $current_step != 'payment'} <td class="coupe_tissus" data-title="{l s='Coupe'}"></td> {/if} <!-- Jusqu'ici --> In cart-summary.js, I created a function to calculate my new value when the customer click on "Calculer". // Par défaut, on cache les div pour la coupe [].slice.call(document.querySelectorAll(".param_coupe")).forEach(function(_node){ _node.style.display='none'; }); // Au changement d'une checkbox "Coupe" $('.coupe_select').change('click', function(e){ e.preventDefault(); var icp = ppCart.getIcp($(this)); if ($('.coupe_select' + ppCart.getIcpSelector(icp)).attr('checked')) { $('div.param_coupe' + ppCart.getIcpSelector(icp)).show('slow'); } else { $('div.param_coupe' + ppCart.getIcpSelector(icp)).hide('slow'); } } ); // Lors du clic sur le bouton Calculer $('.bouton_calculer').on('click', function(e){ e.preventDefault(); var icp = ppCart.getIcp($(this)); // On relève le numéro de la ligne var pieces = $("input#nb_pieces" + ppCart.getIcpSelector(icp)).val(); // On récupère le nombre de pièces de la ligne (par défaut : 1) var quantite = $('input.cart_quantity_input' + ppCart.getIcpSelector(icp)).val().replace(",","."); // On récupère la quantité // On appelle la fonction CalculCoupe avec les valeurs de la ligne du produit. CalculCoupe(pieces,quantite,icp); } ); function CalculCoupe(pieces, quantite, icp) { // Conversion des chaînes en tant que nombre pour pouvoir faire la division pieces = parseInt(pieces); quantite = parseFloat(quantite); // Déclaration d'une variable metres résultant de la division // On vérifie sir le chiffre contient plus de 3 chiffres après la virgule // Si c'est le cas, on fixe à 3 chiffres après la virgule // Puis on affiche le nombre de mètres dans la case var metres = quantite / pieces; if (metres.toString().split(".")[1].length > 3) { metres = metres.toFixed(3); } $('input#nb_metres' + ppCart.getIcpSelector(icp)).val(metres); } Now, I want to save in a variable which contains string like this : $myVariable = pieces + "x" + metres for each products in cart. After, I want to save this variable in order_detail table for each products too. Thanks if you can help me ! Edited September 25, 2015 by Serial (see edit history) Link to comment Share on other sites More sharing options...
Serial Posted September 28, 2015 Author Share Posted September 28, 2015 Any ideas ? 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