Главная » Уроки » Shopkeeper уроки » [Shopkeeper] Расчет доставки без скидки, с дополнительными параметрами
[Shopkeeper] Расчет доставки без скидки, с дополнительными параметрами
Начало можно посмотреть в этом уроке - как сделать расчет доставки на Shopkeeper for Modx
Когда надо сделать только доставку, без скидки, то в коде надо заменить
вот эту часть:
//скидка
$discount1=5; //величина скидки в процентах
if($totalPrice1>=500){ //если стоимость товаров в корзине больше 500, то скидка 5%
$output += round($totalPrice1 * (1-$discount1/100), 2);
/*плэйсхолдер с информацией о предоставленной скидке, можно использовать в чанке корзины*/
$modx->setPlaceholder('discountInfo', 'Ваша скидка 5%');
}else $output += $totalPrice1;
на вот это:
$output += $totalPrice1;
Если у товара есть дополнительные параметры, с помощью которых идет расчет суммы товара, то надо этот кусок кода:
foreach($purchases as $i => $goods){ if ($goods[0]==$deliveryID){ $indexDeliv=$i; }else $totalPrice1 +=$goods[2]*$goods[1]; }
заменить на этот:
$addit_params = unserialize($_SESSION['addit_params']); foreach($purchases as $i => $goods){ if ($goods[0]==$deliveryID){ $indexDeliv=$i; }else{ $totalPrice1 += $goods[2]*$goods[1]; if(!empty($addit_params[$i])){ for($j=0;$j<count($addit_params[$i]);$j++){ $totalPrice1 += $addit_params[$i][$j][1]*$goods[1]; } } } }
Спасибо Ray