Событие msOnGetProductPrice установить old_price

У меня на сайте у товара цена может быть указана в разных валютах. На сайт выводится только цена в национальной валюте. Чтобы цена менялась в зависимости от валюты создал плагин:
case 'msOnGetProductPrice':
    if ($modx->context->key == 'mgr') {return;}
    if (!isset($modx->event->returnedValues['price'])) {
        $modx->event->returnedValues['price'] = $price;
    }
    $price = & $modx->event->returnedValues['price'];
    $currency = $modx->getOption('currency_' . strtolower($product->currency));
	
    $price = ceil($price * $currency);
    $product->set('price', $price);
    				
    $old_price = $product->old_price;
    if(isset($old_price) && $old_price != 0){
        $old_price = ceil($old_price * $currency);
	    
        $product->set('old_price', $old_price);
    }
break;
Цена(price) меняется и в каталоге и на странице товара. А вот старая цена(old_price) меняется только на странице товара, а вот в каталоге НЕТ. Пробовал установить old_price в масиве $data — не помогает.
Никто не сталкивался с такой проблемой??
Тодор
11 сентября 2020, 16:38
modx.pro
1 100
0

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

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