Доброго времени суток!
Недавно выполнял заказ на бирже фриланса. Кратко опишу суть задания.
Есть интернет-магазин работающий на MODX Shopkeeper 3. Цена в карточке товара задаётся в долларах. Плагин мультивалютности конвертирует доллары в рубли. Происходит сие действие в сниппете shk_curr_rate.
Проблема: При смене цены, - сниппет всё правильно пересчитывает по заданному курсу доллара. Но при смене самого курса, всё пересчитывается по старому курсу. Лучше найти формулировку не смог…
Я облазил весь интернет, но решение так и не нашел. Поэтому делюсь своими результатами:
Приложения -> Управление заказами (SHK 3) -> Жмем в правом верхнем углу кнопку с полосками (рядом с кнопкой удалить) -> Настройки -> В поле $ вписываем актуальный курс
Но после этого цена на сайте останется старой. Как решить?
Данная проблема решается при чистке cookies в браузере. Если очистить кэш самого сайта, то это не поможет. Но каждый раз чистить cookies браузера неудобно, да и у других пользователей будет высвечиваться старая цена.
Для обхода этой проблемы сносим проверку на наличие сессии в плагине shk_multicurrency. Находим и удаляем (либо комментируем) код:
if( isset( $_SESSION['shk_curr_rate'] ) && is_numeric( $_SESSION['shk_curr_rate'] ) && !$inverse ){ $rate_ratio = $_SESSION['shk_curr_rate']; }else{
Комментарии ()