Изменение цены товара при изменении количества

Тема в разделе "PrestaShop", создана пользователем venceslaus, 19 фев 2019.

  1. venceslaus

    venceslaus

    Регистрация:
    12 фев 2019
    Сообщения:
    28
    Симпатии:
    11
    Мне не нравится, что в коробочной версии 1.6 при изменении количества цена остаётся прежней на экране в карточке товара. Решил исправить этот момент. Для исправления нужно внети изменения в файл product.tpl.

    Ищем код, лежащий между
    <!-- quantity wanted --> и <!-- minimal quantity wanted -->
    и заменяем на этот
    {if !$PS_CATALOG_MODE}
    <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
    {literal}
    <script type="text/javascript">
    $(function(){
    $('#quantity_wanted').val(1);
    $('.qty_up').on('click',function() {
    if (isNaN(parseInt($('#quantity_wanted').val()))) {
    $('#quantity_wanted').val(1);
    } else {
    $('#quantity_wanted').val(parseInt($('#quantity_wanted').val())+1);
    $("#our_price_display").html(((productPrice*$("#quantity_wanted").val()).toFixed(2).replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ')+" "+currencySign).replace('.',','));
    }
    });
    $('.qty_down').on('click',function() {
    if (isNaN(parseInt($('#quantity_wanted').val()))) {
    $('#quantity_wanted').val(1);
    } else {
    if(parseInt($('#quantity_wanted').val())>1) {
    $('#quantity_wanted').val(parseInt($('#quantity_wanted').val())-1);
    $("#our_price_display").html(((productPrice*$("#quantity_wanted").val()).toFixed(2).replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ')+" "+currencySign).replace('.',','));
    }
    }
    });
    });
    </script>
    {/literal}
    <label for="quantity_wanted">{l s='Quantity'}</label>
    <input type="number" min="1" 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}" />
    <span class="qty_down btn button-minus"><i class="icon-minus"></i></span>
    <span class="qty_up btn button-plus"><i class="icon-plus"></i></span>
    <span class="clearfix"></span>
    </p>
    {/if}

    Добавляем css в product.css
    .btn.button-plus, .btn.button-minus {
    font-size: 14px;
    line-height: 26px;
    color: #c0c0c0;
    text-shadow: 1px -1px rgba(0, 0, 0, 0.05);
    padding: 0;
    border: 1px solid;
    border-color: #d6d4d4;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    height: 27px;
    width: 27px;
    }