Просмотров: 9776 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 28.08.2018
Недоступно в редакциях:
Старт, Стандарт

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

  • корректно отображать цены данных товарных позиций в листинге товаров;
  • для пользователей вывести информацию по курсам валют на сайте;
  • а при заказе данных товарных позиций конвертировать цену в рубли по курсу ЦБ РФ.

Для начала нужно создать нужные нам валюты, а также настроить шаблоны их отображения на сайте. В дистрибутиве «1С-Битрикс: Управление сайтом» по умолчанию уже настроена одна валюта: рубли. Она же и является базовой валютой.

Создайте валюты USD и GBP (фунты стерлингов).

Для примера приведем образец заполнения формы:

Должен получиться такой список:

Далее нам нужно настроить курсы данных валют. Переходим в раздел Курсы валют (Настройки > Валюты > Курсы валют). И создаём курсы для двух валют (USD и GBP) по отношению к базовой валюте RUB.

Теперь перейдя на карточку товара в каталоге товаров, можно указать цену в валютах которые мы создали, выбрав необходимое значение из выпадающего списка:

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

Дополнительно, вне темы примера: Перед выводом товаров разместим компонент Таблица курсов валют (bitrix:currency.rates), таким образом, пользователь сможет видеть курсы, по которым будет произведена конвертация валют в рубли. В настройках компонента выберите из списка валюты, которые необходимо выводить, а также валюту по отношению к которой будет пересчитываться курс (в данном случае это RUB). Получили:

Теперь закажем эти книги и перейдём в корзину:

Цены книг автоматически перевелись в рубли по курсу, который мы установили. Это не сложно проверить: книга «Компьютерный андеграунд…» стоит 214,5 фунтов, а курс мы установили 47,0519руб за фунт, в итоге получается 214,5*47,0519 = 10092,63255 руб., а так как в настройках валюты «RUB» установлен вывод только двух знаков после запятой, то сумма округлилась до 10092,63 руб.

15


Курсы разработаны в компании «1С-Битрикс»