Javier M. Posted September 24, 2015 Share Posted September 24, 2015 Buenas noches: En prestashop 1.6.1.1 estoy tratando de que los botones + y - que suman y restan unidades a la cantidad del producto sumen o resten diferentes cantidades en función de alguna variable/atributo asignada a cada producto. Es decir, algunos productos me interesa que la cantidad se sume de 5 en cinco al pulsar el botón + y en otros productos que la cantidad se sume de uno en uno al pulsar dicho botón. He accedido al archivo product.js y cambiando el valor de incremento de 1 a 5 consigo que sume de 5 en 5 desde la cantidad mínima de compra: // The button to increment the product value $(document).on('click', '.product_quantity_up', function(e){ e.preventDefault(); fieldName = $(this).data('field-qty'); var currentVal = parseInt($('input[name=+fieldName+]').val()); if (quantityAvailable > 0) { quantityAvailableT = quantityAvailable; } else { quantityAvailableT = 100000000; } if (!isNaN(currentVal) && currentVal < quantityAvailableT) { $('input[name=+fieldName+]').val(currentVal + 5).trigger('keyup'); } else { $('input[name=+fieldName+]').val(quantityAvailableT); } }); Mi pregunta es la siguiente: ¿Dónde y cómo puedo definir una variable o atributo que asignadole un valor desde cada producto de la tienda lo pueda aprovechar para sumar cinco unidades o una unidad? Es decir, necesito una variable para sustituir el 5 del código anterior por un número variable que se configure en cada producto. Muchas gracias!! Link to comment Share on other sites More sharing options...
Eusebio100 Posted September 25, 2015 Share Posted September 25, 2015 En lugar de un número (1, 5...) puedes utilizar "minimalQuantity" que ya la tienes creada. Link to comment Share on other sites More sharing options...
Javier M. Posted September 25, 2015 Author Share Posted September 25, 2015 Gracias por la respuesta Eusebio100. El tema es que "minimalQuantity" la estoy empleando para fijar el número mínimo de compra que en ambos casos es diferente a los múltimos que quiero sumar con los botones. De ahí que quiera crear una variable para tal fin. ¿Alguna otra idea? Muchas gracias. Link to comment Share on other sites More sharing options...
Eusebio100 Posted September 25, 2015 Share Posted September 25, 2015 El proceso es el mismo que para minimalQuantity, si tienes alguna variable que diferencie los productos que quieres sumar en una cantidad de los que quieres sumar en otra (atributos, descuentos, etc), puedes utilizar dicha variable y condiconarla; si no hay nada que diferencie unos productos de otros, tendrás que crear dicha variable. Link to comment Share on other sites More sharing options...
Javier M. Posted September 25, 2015 Author Share Posted September 25, 2015 Solucionado. He modificado el código de product.js para que si la cantidad mínima es inferior a 29 me sume de 1 en 1 y si la cantidad mínima es superior a 29 que sume de 5 en 5. // The button to increment the product value $(document).on('click', '.product_quantity_up', function(e){ e.preventDefault(); fieldName = $(this).data('field-qty'); var currentVal = parseInt($('input[name=+fieldName+]').val()); if (quantityAvailable > 0) { quantityAvailableT = quantityAvailable; } else { quantityAvailableT = 100000000; } if (!isNaN(currentVal) && currentVal < quantityAvailableT) { if (minimalQuantity>29) {$('input[name=+fieldName+]').val(currentVal + 10).trigger('keyup');} else {$('input[name=+fieldName+]').val(currentVal + 1).trigger('keyup');} } else { $('input[name=+fieldName+]').val(quantityAvailableT); } }); // The button to decrement the product value $(document).on('click', '.product_quantity_down', function(e){ e.preventDefault(); fieldName = $(this).data('field-qty'); var currentVal = parseInt($('input[name=+fieldName+]').val()); if (!isNaN(currentVal) && currentVal > 1) { if (minimalQuantity>29) {$('input[name=+fieldName+]').val(currentVal - 10).trigger('keyup');} else {$('input[name=+fieldName+]').val(currentVal - 1).trigger('keyup');} } else { $('input[name=+fieldName+]').val(1); } }); Espero que os ayude. Link to comment Share on other sites More sharing options...
Recommended Posts