Алексей

Алексей

С нами с 23 мая 2018; Место в рейтинге пользователей: #853

Странный расчет цены в корзине Minishop2

Всем привет. Подскажите как поправить. Совсем не могу понять как так происходит. На скриншоте. Добавляет нули на некоторых значениях количества, при этом общую цену считает как надо.

Изначально цена выводится таким кодом, дальше все стандартными функциями minishop2, ничего не менял.
При загрузке страницы цена правильная, ошибка появляется только при переключение количества
{$product.count * $product.price|replace:" ":""}
Код верстки количества
<div class="basket-product-count">
                             <form method="post" class="ms2_form form-inline" role="form">
                                <input type="hidden" name="key" value="{$product.key}"/>
                                <div class="form-group">
                                    <input type="number" name="count" value="{$product.count}"
                                           class="input-sm form-control" data-id="{$product.key}"/>
                                    <button class="btn btn-default" type="submit" name="ms2_action" value="cart/change">
                                        <i class="glyphicon glyphicon-refresh"></i>
                                    </button>
                                    {$product.ProductValue}
                                </div>
                            </form>
                        </div>
сайт sth-les.ru/
Алексей
09 июля 2018, 18:26
modx.pro
1 241
0

Динамическое изменение цены в корзине от условий доставки

Всем добрый день. Помогите разобраться, 2 дня чтения интернета не дают результата :(

Пишу свой модуль доставки СДЭК. Не могу понять как динамически поменять стоимость доставки и общую цену в корзине при расчете сдэка.

написал свой класс стоимости доставки
<?php
//проверяем на отсутствие классов и инициализируем классы msdeliveryhandler, CalculatePriceDeliveryCdek
if(!class_exists('msDeliveryInterface')) {
    require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/minishop2/model/minishop2/msdeliveryhandler.class.php';
}
class msDeliveryHandlerCDEK extends msDeliveryHandler implements msDeliveryInterface {
    
    public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
        $cdekPrice = $_POST['cdekPrice'];
        $fullcost = intval($cost)  + intval($cdekPrice);
        return $fullcost;      
    }
} 
?>
весь сдэк считает в js и там же я вызываю ajax с пересчетом цены
$.ajax({
	type: "POST",
	url: "/assets/components/minishop2/action.php",
	data: "ms2_action=order/getcost&ctx=web&cdekPrice="+data.result.price,
	success: function(msg){
		$.jGrowl('Обновление цены' , { theme: 'message-system', life: 2500 });
		console.log(msg);
	}
});
ответ верный, получает стоимость из скрипта и прибавляет стоимость
{«success»:true,«message»:"",«data»:{«cost»:2430}}

но при этом в самой корзине или в оформленном заказе цена остается старой. Подскажите пожалуйста как правильно обновить стоимость доставки? Перепробовал уже все что можно. Видел подобные компоненты, цену обновляют…
сайт на котором тестирую mod.2f-vsk.ru
Спасибо.
Алексей
24 мая 2018, 07:38
modx.pro
1
1 753
0