Работаю по всей России

vasilisa1210@mail.ru

Главная » Уроки » 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