Jump to content
guil182

javascript theme child 1.7

Recommended Posts

Bonjour,

je voudrais surcharger le javascript de la page product (les deux petits boutons, bootstrap-touchspin-up et bootstrap-touchspin-down)

Autant sur la version 1.6, je voyais où chercher, autant là, comment savoir quel script est appelé, et comment modifier ce dernier avec un theme enfant ?

 

merci d'avance de votre aide.

Share this post


Link to post
Share on other sites

Bonjour,

J'ai modifier les fichiers ainsi pour augmenter la quantité en fonction du "pas" et du "max" :

Product.js :

prestashop.on('updatedProduct', function (event) {
        createInputFile();
        createToolTip();
        coverImage();
        if (event && event.product_minimal_quantity) {
            const minimalProductQuantity = parseInt(event.product_minimal_quantity, 10);
            const quantityInputSelector = '#quantity_wanted';
            let quantityInput = $(quantityInputSelector);
            let quantityMax = document.getElementById('Pmax').value;

            // @see http://www.virtuosoft.eu/code/bootstrap-touchspin/ about Bootstrap TouchSpin
            quantityInput.trigger('touchspin.updatesettings', {min: minimalProductQuantity,step: minimalProductQuantity,max: quantityMax});
          
          function createProductSpin() {
        let quantityInput = $('#quantity_wanted');
        quantityInput.TouchSpin({
            verticalbuttons: true,
            verticalupclass: 'fa fa-angle-up touchspin-up',
            verticaldownclass: 'fa fa-angle-down 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)
        });

 

product-add-to-cart.tpl

<div class="qty">
                        <input
                                type="text"
                                name="qty"
                                id="quantity_wanted"
                                value="{$product.quantity_wanted}"
                                class="input-group"
                                min="{$product.minimal_quantity}"
                                step="{$product.minimal_quantity}"
                                max="{$product.quantity}"
                        >
                    </div>

 Sur la page produit, ca marche.

Maintenant, je veux aussi que ca fonctionne tout autant dans le panier :

Cart.js :

function createSpin()
{
  $.each($(spinnerSelector), function (index, spinner) {
     $(spinner).TouchSpin({
       verticalbuttons: true,
       verticalupclass: 'fa fa-angle-up touchspin-up',
       verticaldownclass: 'fa fa-angle-down touchspin-down',
       buttondown_class: 'btn btn-touchspin  js-touchspin js-increase-product-quantity',
       buttonup_class: 'btn btn-touchspin js-decrease-product-quantity',
       min: parseInt($(spinner).attr('min'), 10),
       max: parseInt($(spinner).attr('max'), 10),
       step: parseInt($(spinner).attr('step'), 10)
    });
  });

  CheckUpdateQuantityOperations.switchErrorStat();
}

et cart-detailled-product-line.tpl :

<div class="col col-auto col-md qty">
                {if isset($product.is_gift) && $product.is_gift}
                    <span class="gift-quantity">{$product.quantity}</span>
                {else}
                    <input
                            class="js-cart-line-product-quantity"
                            data-down-url="{$product.down_quantity_url}"
                            data-up-url="{$product.up_quantity_url}"
                            data-update-url="{$product.update_quantity_url}"
                            data-product-id="{$product.id_product}"
                            type="text"
                            value="{$product.quantity}"
                            name="product-quantity-spin"
                            min="{$product.minimal_quantity}"
                            step="{$product.minimal_quantity}"
                            max="{$product.quantity_available}"
                    />
                {/if}
            </div>

 Mais là il y a de l'ajax qui passe par là et qui semble surcharger le spin et qui ajoute +1 tout simplement, mais je n'arrive pas à trouver ...:/

Merci d'avance de votre aide.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More