Здравствуйте, в opencart как и php с js не силён то с толкнулся с проблемой. Вот пример сайт где есть калькулятор подсчета кв метра ламината . Я пытаюсь по аналогии сделать у себя такой же. Js скопировал ( числа считает ) HTML скопировал (где нужно что-бы динамически выводились данные с карточки товара вставил ). Но вот когда добавляю товар в корзину то добавляет сумму изначальную которая в карточке товара прописана за шт, а мне нужно сумму новую, которая через js посчитала мне итог.
Может кто подкинет какие идеи или поможет с данной проблемой, буду благодарен.
Twig код
<div class="view__info container__col js-price"
data-price="{% if price1 %}{% if not special1 %}{{ price1 }} {% else %}{{ special1 }}{% endif %}{% endif %}"
data-currency=" ₽" data-per-box="{{ upc }}">
<div class="view__price">
<span class="product__price-old">2196 ₽</span>
<b class="view__price-val">1572 ₽</b> / м<sup>2</sup>
</div>
<div class="view__info-item">
<i class="view__info-check icon-check"></i>
В наличии
</div>
<div class="view__info-item">В одной упаковке: {{ upc }} {{ sku }} </div>
<div class="view__info-item">Артикул: A008629</div>
<form action="#" class="view__shop shop js-shop form">
<div class="shop__count shop__col">
<div class="shop__label">Кол-во упаковок</div>
<div class="jq-number styler jq-number_wide jq-number_48 js-price__count" id="input-quantity-styler">
<div class="jq-number__field">
<input name="quantity" value="{{ minimum }}" size="2" id="input-quantity" type="number"
class="styler jq-number_wide jq-number_48 js-price__count" min="1">
</div>
</div>
<input type="hidden" name="product_id" value="{{ product_id }}" />
</div>
<label class="shop__square shop__col">
<span class="shop__label">в упаковке</span>
<input type="text" disabled="disabled" value="{{ upc }}"
class="form__field form__field_48 shop__square-field js-price__square">
<span class="shop__ed">{{ sku }} </span>
</label>
<div class="shop__cost shop__col">
<div class="shop__label">Общая стоимость</div>
<b class="view__price-val">
<span class="js-price__summary">{% if price1 %} {% if not special1 %}{{ price1 * upc }}
{% else %}{{ special1 * upc }}{% endif %}{% endif %} ₽</span>
</b>
<!--за упаковку-->
</div>
<div class="shop__buy shop__col">
<button type="button" id="button-cart" data-loading-text="{{ text_loading }}"
class="btn btn-primary btn-lg btn-block">{{ button_cart }}</button>
</div>
</form>
</div>
JS code
$('.js-price__count, .js-price__square').on('change keyup', function () {
var block = $('.js-price');
var data = {
price: Number(block.data('price')),
perBox: Number(block.data('per-box')),
currency: block.data('currency'),
};
var input = {
count: Number(block.find('input.js-price__count').val()),
square: Number(block.find('input.js-price__square').val()),
};
var count = block.find('.js-price__count');
var square = block.find('input.js-price__square');
var summary = block.find('.js-price__summary');
if(input.count < 1) {
return ;
}
summary.text(Math.floor(data.price * input.square) + data.currency);
if($(this).hasClass('js-price__count')) {
square.val((data.perBox * input.count).toFixed(2));
}
if($(this).hasClass('js-price__square')) {
count.val(Math.ceil(input.square / data.perBox));
}
});