Добрый день!
Помогите решить проблему - интернет магазин на 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 нет опций, т.е. для него не производится пересчет и не срабатывают вышеописанные правила.
Кстати пробовал через правила настраивать скидки для определенных ролей, та же проблема везде цены со скидками, а на последнем этапе без. Что я делаю нетак?
Комментарии
Нет никаких идей?