Обновление цены в minishop2 по курсу валюты
Цена в minishop2 по курсу валюты
Создал, как написано, TV usd_price:
Тип: чекбокс;
возможные значения: Да==1||Нет==0;
Значение по умолчанию: Да==1.
Создал системную настройку: ms2_usd_value, значение — 26 (нынешний курс валюты)
Создал 2 плагина на событие msOnGetProductPrice и msOnBeforeAddToCart
В чем проблема?
Создал, как написано, TV usd_price:
Тип: чекбокс;
возможные значения: Да==1||Нет==0;
Значение по умолчанию: Да==1.
Создал системную настройку: ms2_usd_value, значение — 26 (нынешний курс валюты)
Создал 2 плагина на событие msOnGetProductPrice и msOnBeforeAddToCart
if ($modx->event->name == 'msOnGetProductPrice') {
$tv = $modx->getObject('modTemplateVar', array('name' => 'usd_price'));
$modx->log(xPDO::LOG_LEVEL_ERROR, $tv->getValue($product->get('id'))); // для дебага
$modx->log(xPDO::LOG_LEVEL_ERROR, $modx->getOption('ms2_usd_value')); // для дебага
if($tv->getValue($product->get('id')) != 0){
$newPrice = (int)$modx->getOption('ms2_usd_value') * (int)$product->get('price');
$product->set('price', $newPrice);
}
}
Все работает, но цена товара отображается по курсу только после обновления страницы.В чем проблема?
Комментарии: 1
modstore.pro/packages/other/currencyrate
Я еще давным-давно делал так: создавал дополнительные колонки в таблице rur_price и usd_price и сниппетом по крону пересчитывал стоимость и перезаписывал поле price.
Вот по этому мануалу: modx.pro/solutions/2779-the-price-in-rubles-at-the-exchange-rate-of-the-dollar-in-minishop2/
Я еще давным-давно делал так: создавал дополнительные колонки в таблице rur_price и usd_price и сниппетом по крону пересчитывал стоимость и перезаписывал поле price.
Вот по этому мануалу: modx.pro/solutions/2779-the-price-in-rubles-at-the-exchange-rate-of-the-dollar-in-minishop2/
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.