xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Ввод и хранение цен в одной валюте, а вывод в другой по текущему курсу (мультивалютность)

Опубликовано в

Задача — указывать цены товаров в долларах, а ценник выводить в рублях по текущему курсу ЦБ.

Решение:

1. Установить модули Commerce Multicurrency и Commerce Multicurrency provider for RUB.

2. На странице admin/commerce/config/currency выбрать список доступных валют (USD и RUB) и дефолтную валюту, в которой будут выводится цены (RUB).

3. На странице admin/commerce/config/currency/conversion выбрать провайдера — Central Bank of the Russian Federation, включить опцию Synchronize rates on save и нажать Save Settings:

После этого при создании/редактировании товара будет доступно поле выбора валюты:

А все цены будут выводится в дефолтной валюте — рублях.

Видео

Мой модуль для правильной сортировки Views по цене в разных валютах — Commerce Multicurrency Sort.

Написанное актуально для Commerce 1
Похожие записи

Комментарии RSS

спасибо, актуально

Спасибо

Спасибо. А чекаут будет в какой валюте?

в дефолтной валюте

На странице checkout товар в евро, итоговая сумма оплаты в рублях.
на странице вьюс 900 товаров, процентов 20-30 в евро

что-то не так делаете

xandeadx
Какую версию модулю использовали?

1.3

А может надежнее сделать дополнительное поле под конкретную валюту.
[Событие: Расчёт стоимости товара - commerce_product_calculate_sell_price]
А в рулсе при подсчете цены выдавать то что хочется?

xandeadx
Что-то не выходит у меня, модуль работает отлично, везде цены в рублях, но вот в checkout цены в исходной валюте.
Патчить https://www.drupal.org/node/1356906 пока ничего не пробовал.
Скорее всего либо я гдето галку не поставил|снял либо модуль како-то перекрывает в общем х.з. Никак не могу понять почему в карте выводит нормально а в заказе нет, вььюхи идентичные почти ...(

да, оказывается есть проблема. там в dev версии новый rules component добавили, но как им пользоваться я не знаю

Не там копал я. Это rules 2.8 крушит.
откатился на 2.7
Полет нормальный.

Проблема та же, везде цена отображаются конвертированные, кроме чекаута. Никто не нашел решения?

поставьте Rules 2.7, вместо последней 2.8

Спасибо. Помогло.
Можно ли прикрутить этот функционал к полю "Цена" (price), которое не относится к товару из Commerce?

Ура! Проблема устранена в Rules 2.9

Показывает цену с 6-ю знаками после запятой. Как пофиксить?

27/03/2015 - 17:28 - время на сайте очень вперед убежало ;-) у меня ещё только 17:09 было, хостеры не работают 4-)
Вьюсои цена выводится или как - менять отображение. На крайняк в хуке перед редером.

В корзине неверное считает цену в рублях. Наблюдаются для некоторых товаров, когда их несколько штук, отклонения в большую или меньшую сторону. Как решить сие?

Я уже писал выше в комменте, что считаю хранение цены в валюте сделать в другом поле правильнее, например en_price или dollar_price или field_usd_price и также для других валют field_eur_price и т.п.
Рассчитывать в момент сохранения/обновления продукта(вариации). Ещё можно по крону раз в сутки или раз в неделю пересчитывать.
Выводить эти поля не нужно, они просто хранятся.
Это как для скидки поле: field_old_price - очень удобно!

Доброе время суток! Спасибо за пост! А как быть если нужно сделать сортировку по цене? Беру поле commerce price amount делаю сортировку и разшариваю ее. В результате цены в USD он сортирует первыми а потом сортирует цены в ГРН!

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

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании