Поле со скидкой

есть плагин для реализации скидки при добавлении товаров в корзину

<?php
if ($modx->event->name == 'msOnBeforeAddToCart') {
    if ($modx->user->isAuthenticated()){
        //$user = $modx->getObject('modUserProfile', $modx->user->get('id'));
        $procent = 0;
        $sqlz = $modx->query("SELECT count(id) as count,SUM(cost) as summa FROM `modx_ms2_orders` WHERE user_id=".$modx->user->get('id')." and status=10");
        $parentz = $sqlz->fetchAll(PDO::FETCH_ASSOC);
            foreach ($parentz as $resz) {
                if ($resz['count'] == 0){
                    $procent = 0;
                }else{
                    $sql = $modx->query("SELECT count(id) as count,SUM(cost) as summa FROM `modx_ms2_orders` WHERE `createdon` >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY) and user_id=".$modx->user->get('id')." and status=10");
                    $parentu = $sql->fetchAll(PDO::FETCH_ASSOC);
                    if ($parentu) {
                        foreach ($parentu as $res) {
                              if (round($res['summa'],0) < 50000) {
                                  $procent = 0;
                              }elseif (round($res['summa'],0) >= 50000 && round($res['summa'],0) < 100000){
                                  $procent = 3;
                              }elseif (round($res['summa'],0) >= 10000 && round($res['summa'],0) < 150000){
                                  $procent = 5;
                              }elseif (round($res['summa'],0) >= 150000 && round($res['summa'],0) < 200000){
                                  $procent = 8;
                              }elseif (round($res['summa'],0) >= 200000){
                                  $procent = 10;
                              }
                        }
                    }
                }
            }
        
        
        if (/*$user->get('sale')*/$procent > 0){
            $old_price = $product->get('price') - ($product->get('price') * ($procent / 100));
        		$product->set('price', round($old_price, 2));
        }
    }else{
        $modx->event->output('Для покупки товаров, Вам нужно авторизоваться или зарегистрироваться!');
    }
}
если мы меняем количество в корзине, то сумма меняется — все ок, а как сделать, чтобы еще показывалась сумма без учета скидки?

пока вывожу через сниппет, но при увеличении/уменьшении количества, сумма не меняется без перезагрузки страницы

<span>
    	    {'TotalSale' | snippet : [
                    'price' => $total.cost
                ]} 
   </span>
сниппет
$procent = 4;
$sale = (str_replace(' ', '', $price) * 100) / (100 - $procent);
echo round($sale,1);
Максим
19 апреля 2019, 15:17
modx.pro
508
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0