Проблема с Commerce Line item: Unit price при конверсии валюты

Главные вкладки

Аватар пользователя CaesarAD CaesarAD 18 февраля 2016 в 15:03

Добрый день!

Помогите решить проблему - интернет магазин на drupal 7, commerce

Появилась необходимость хранить цену в разных валютах, так как производители выставляют прайс то в долларах то в евро. На сайте все цены на товары должны отображаться в рублях.

Задачу решал так:
- включил необходимые валюты в настройках admin/commerce/config/currency
- добавил переменные usd, eur (курс валют, туда по крону загоняю текущий курс по xml rpc)
- в рулсах (admin/commerce/config/product-pricing) добавил правило: "Convert"

event: Calculating the sell price of a product;
condition: Data comparison(проверяю тип валюты что бы не конвертировать рубли);
actions:
1) Multiply the unit price by some amount (умножаю на курс)
2) Convert the unit price to a different currency (устанавливаю валюту по умолчанию)

Такое же правило создал и для евро

Почти работает. В прайсе можно выбирать любую валюту. В каталоге, карточке товара, корзине отображается пересчитанная цена в рублях.

Но!

При оформлении заказа, в просмотре заказа после оформления, а также в отправленном письме содержится старая цена в долларах или евро.
Бьюсь над этой проблемой уже 2 дня, не могу понять в чем проблема.

Есть такие подозрения.
В комерце все выводится через views. Во всех вьюсах которые в итоге нормально отображают конвертированную сумму (а это commerce-product:price) в настройках этого поля я выбираю: Formatted amount и ставлю опцию - Display the calculated sell price for the current user.

В тех же вьюсах где выводится базовая цена (а это commerce-line-item:unit-price) - у формата Formatted amount нет опций, т.е. для него не производится пересчет и не срабатывают вышеописанные правила.

Кстати пробовал через правила настраивать скидки для определенных ролей, та же проблема Sad везде цены со скидками, а на последнем этапе без. Что я делаю нетак?

Комментарии