Здравствуйте!
Сайт на Prestashop. Нужно добавить возможность выбирать количество товара на страницу витрины. Само поле ввода input добавить удалось (с помощью Googla конечно) - и оно работает.. Кнопки тоже вставить получилось (скопировал код из другого модуля сайта) - но вот заставить их работать не получается (js пока никак не могу осилить
).
Код кнопок и инпута:
<div class="button-container">
{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.customizable != 2 && !$PS_CATALOG_MODE}
{if (!isset($product.customization_required) || !$product.customization_required) && ($product.allow_oosp || $product.quantity > 0)}
{capture}add=1&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}{/capture}
<a class="ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product="{$product.id_product|intval}" data-minimal_quantity="{if isset($product.product_attribute_minimal_quantity) && $product.product_attribute_minimal_quantity > 1}{$product.product_attribute_minimal_quantity|intval}{else}{$product.minimal_quantity|intval}{/if}">
<span>{l s='Add to cart'}</span>
</a>
<input type="text" name="qty" id="quantity_wanted_{$product.id_product|intval}" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{$product.minimal_quantity}{/if}" size="2" maxlength="3" />
{else}
<span class="ajax_add_to_cart_button btn btn-default disabled">
<span>{l s='Add to cart'}</span>
</span>
{/if}
{/if}
<a href="#" data-field-qty="quantity_wanted_{$product.id_product|intval}" class="btn btn-default button-minus product_quantity_down">
<span>
<i class="fa fa-minus"></i>
</span>
</a>
<a href="#" data-field-qty="quantity_wanted_{$product.id_product|intval}" class="btn btn-default button-plus product_quantity_up">
<span>
<i class="fa fa-plus"></i>
</span>
</a>
</div>
Попытался скопировать также скрипт из модуля, в котором эти кнопки работают:
// 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 (!allowBuyWhenOutOfStock && quantityAvailable > 0)
quantityAvailableT = quantityAvailable;
else
quantityAvailableT = 100000000;
if (!isNaN(currentVal) && currentVal < quantityAvailableT)
$('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)
$('input[name='+fieldName+']').val(currentVal - 1).trigger('keyup');
else
$('input[name='+fieldName+']').val(1);
});
if (typeof minimalQuantity != 'undefined' && minimalQuantity)
{
checkMinimalQuantity();
$(document).on('keyup', 'input[name=qty]', function(e){
checkMinimalQuantity(minimalQuantity);
});
}
function arrayUnique(a)
{
return a.reduce(function(p, c){
if (p.indexOf(c) < 0)
p.push(c);
return p;
}, []);
};
//check if a function exists
function function_exists(function_name)
{
if (typeof function_name === 'string')
function_name = this.window[function_name];
return typeof function_name === 'function';
}
...догадываюсь, что ошибка вероятно где-то здесь - но разобраться пока не получается