guil182 Posted August 14, 2019 Share Posted August 14, 2019 Bonjour, j'essaye de bloquer ProductSpin avec max = $product.quantity. Pour cela, j'ai modifier product-add-to-cart.tpl <input type="number" name="qty" id="quantity_wanted" value="{$product.quantity_wanted}" class="input-group" min="{$product.minimal_quantity}" max="{$product.quantity}" step="{$product.minimal_quantity}" > et j'ai surchargé product.js en créant un product.js dans un theme enfant. $(document).ready(function () { createProductSpin(); prestashop.on('updatedProduct', function (event) { if (event && event.product_minimal_quantity) { const minimalProductQuantity = parseInt(event.product_minimal_quantity, 10); const quantityInputSelector = '#quantity_wanted'; let quantityInput = $(quantityInputSelector); let quantityMax = parseInt($('#pmax').text()); // @see http://www.virtuosoft.eu/code/bootstrap-touchspin/ about Bootstrap TouchSpin quantityInput.trigger('touchspin.updatesettings', {min: minimalProductQuantity,step: minimalProductQuantity,max: quantityMax}); } }); function createProductSpin() { const $quantityInput = $('#quantity_wanted'); $quantityInput.TouchSpin({ verticalbuttons: true, verticalupclass: 'material-icons touchspin-up', verticaldownclass: 'material-icons touchspin-down', buttondown_class: 'btn btn-touchspin js-touchspin', buttonup_class: 'btn btn-touchspin js-touchspin', min: parseInt($quantityInput.attr('min'), 10), max: parseInt($quantityInput.attr('max'), 10), step: parseInt($quantityInput.attr('step'), 10) }); $('body').on('change keyup', '#quantity_wanted', (e) => { $(e.currentTarget).trigger('touchspin.stopspin'); prestashop.emit('updateProduct', { eventType: 'updatedProductQuantity', event: e }); }); } }); Ca marche...presque ! En effet, lorsque qu'on arrive sur la page, on peut appuyer très vite sur le "up", la quantité n'est pas bloquée....elle ne se bloque qu'après la réponse Ajax de updated cart 😕 Le résultat : http://prestashop.lenclosdesvins.com/pomerol/20-chateau-la-conseillante-2010.html Merci d'avance de votre aide Link to comment Share on other sites More sharing options...
Eolia Posted August 14, 2019 Share Posted August 14, 2019 Normal et logique, le js se charge après le code html de la page. Il faut bloquer le bouton en html et le débloquer si autorisé en js Link to comment Share on other sites More sharing options...
guil182 Posted August 14, 2019 Author Share Posted August 14, 2019 (edited) Merci Eolia, Mais justement ce n'est pas fait avec product-add-to-cart.tpl et la fonction createProductSpin() ? Sinon comment faut il faire ? Edited August 14, 2019 by guil182 (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted August 14, 2019 Share Posted August 14, 2019 Aucune idée je ne travaille pas sur les 1.7 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