Конвертация валюты в старой цене
Всем привет!
Когда-то Володя помог реализовать автоматическую конвертацию валюты с помощью такого плагина:
Можно ли с помощью данного плагина конвертировать валюту еще и в старой цене?
Когда-то Володя помог реализовать автоматическую конвертацию валюты с помощью такого плагина:
<?php
$curs_global = $modx->getOption('eur_uah');
$product = $modx->getObject('msProduct', $product->id);
$curs = $product->get('vendor.phone') ?: $curs_global;
switch($modx->event->name) {
case 'msOnGetProductPrice':
$returned = $modx->getPlaceholder('_returned_price');
if (is_array($returned)) {
$price = $returned['price'];
}
$price = $price * $curs;
$values = $modx->Event->returnedValues;
$values['price'] = $price;
$modx->event->returnedValues = $values;
break;
}
который вешается на событие msOnGetProductPriceМожно ли с помощью данного плагина конвертировать валюту еще и в старой цене?
Комментарии: 3
автор решения
Создаем плагин вешаем на событие msOnGetProductFields
Создаем плагин вешаем на событие msOnGetProductFields
<?php
switch($modx->event->name) {
case 'msOnGetProductFields':
$returned_values = & $modx->event->returnedValues;
$values = $modx->event->params['data'];
$returned_values['price'] = $values['price'] * 2;
$returned_values['old_price'] = $values['old_price'] * 3;
break;
}
Andre, подскажи, пожалуйста, почему на странице могут не выводится обработанные старая и новая цены?
Создал плагин, навесил событие «msOnGetProductFields», в логи пишет корректно, а на странице исходные цены почему-то…
Создал плагин, навесил событие «msOnGetProductFields», в логи пишет корректно, а на странице исходные цены почему-то…
<?php
switch($modx->event->name) {
case 'msOnGetProductFields':
$returned_values = & $modx->event->returnedValues;
$values = $modx->event->params['data'];
$returned_values['price'] = $values['price'] * 2;
$returned_values['old_price'] = $values['old_price'] * 2;
$modx->log(1,'returned_price - ' . $returned_values['price'] ); //30
$modx->log(1,'returned_old_price - ' . $returned_values['old_price'] ); //60
$modx->log(1,'values_price - ' . $values['price'] ); //15
$modx->log(1,'values_old_price - ' . $values['old_price'] ); //30
break;
}
Та же проблема. Решение не нашли?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.