В одностраничном плагине корзины не учитывается изменение цены на товар при увеличении его кол-ва.
Цену товара в VM можно настроить на группу или кол-во, при этом на странице корзины цена обновить только при полном обновлении сраницы, при изменении кол-ва цена товара не измениться.
Для начала необходимо подготовить переменную, файл:
/cart/ajaxprice.php
Необходимо добавить цену товара в строки с массивом $price_values["products"][$id][....]
$price_values["products"][$id]["subtotal_salesPrice"]=!empty($cart->pricesUnformatted[$id]["salesPrice"])?$currency->priceDisplay($cart->pricesUnformatted[$id]["salesPrice"]):"";
$price_values["products"][$id]["subtotal_tax_amount"]=!empty($cart->pricesUnformatted[$id]["taxAmount"])?$currency->priceDisplay($cart->pricesUnformatted[$id]["taxAmount"], 0, $cart->products[$id]->quantity):"";
$price_values["products"][$id]["subtotal_discount"]=!empty($cart->pricesUnformatted[$id]["subtotal_discount"])?$currency->priceDisplay($cart->pricesUnformatted[$id]["discountAmount"], 0, $cart->products[$id]->quantity):"";
$price_values["products"][$id]["towprice"]=!empty($this->currencyDisplay->createPriceDiv('salesPrice','', $this->cart->pricesUnformatted[$pkey],true,false,1))?$this->currencyDisplay->createPriceDiv('salesPrice','', $this->cart->pricesUnformatted[$pkey],true,false,1):"";
$price_values["products"][$id]["subtotal_with_tax"] = "";
На странице карточки добавить идентификатор, для изменения цены
Файл
/cart/tmp/default_left.php
Код :
<div class="opg-text-primary opg-hidden-small opg-text-bold opg-float-right opg-width-large-1-6 opg-width-small-2-6 opg-width-2-6 opg-text-left-small">
<div class="spacer" id="towprice_<?php echo $cartitemid?>">
<?php echo $this->currencyDisplay->createPriceDiv('salesPrice','', $this->cart->pricesUnformatted[$pkey],true,false,1); //No quantity or you must use product_final_price ?>
<?php //echo $this->currencyDisplay->createPriceDiv('basePriceVariant','', $this->cart->pricesUnformatted[$pkey],false); ?>
</div>
</div>
осталось настроить скрипт автоподсчета, файл:
onepage.js
Необходимо доработать функцию:
function update_prices()
В функции function update_prices() добавить строку для замены текста в элементе с ценой:
if (jQuery('#subtotal_with_tax_'+id))
{
jQuery('#subtotal_with_tax_'+id).html(data.products[id].subtotal_with_tax);
}
if (jQuery('#towprice_'+id))
{
jQuery('#towprice_'+id).html(data.products[id].subtotal_with_tax);
}
Пример: