DotPlant2 documentation

Мультивалютность

Мультивалютность - поддержка нескольких валют для товаров в магазине.

В магазине всегда должна быть задана основная валюта(Currency.is_main), в которой будет вестись исчисление всех заказов. Именно на эту валюту будет выставляться счет и производиться оплата.

Реализация верстки требует пристального внимания, поскольку нельзя просто так выводить поля $product->price или $product->old_price, если в вашем магазине используется больше одной валюты.

В настоящий момент реализована возможность устанавливать на продукты цену в валюте. Отображение цены товара задается в шаблоне.

Изменение отображения цен в нужной пользователю валюте пока что не реализовано(следите за задачей https://github.com/DevGroup-ru/dotplant2/issues/173).

Управление валютами

Для управления валютам перейдите в меню административной части сайта на пункт Магазин - Валюты.

Этот раздел позволяет создавать / редактировать / удалять валюты и провайдеров курса валют. По умолчанию в CMS добавлены рубли, доллары США и евро в качестве валют, а так же сервисы Google Finance и веб-сервис Банка России в качестве провайдеров финансовой информации.

Если вы используете Банк России в качестве провайдера, основная валюта магазина обязательно должна быть рублем.

Для добавления новой валюты перейдите во кладку Валюты и нажмите кнопку Добавить. Заполните поля:

  • Название - имя валюты
  • ISO-4217 код - код валюты в формате ISO-4217
  • Главная валюта сайта - является ли валюта основной
  • Номинал конверсии курса - номинальный коэффициент конверсии валюты (по умолчанию 1)
  • Провайдер курса валют - финансовый провайдер курса валют
  • Курс валют - курс валюты по отношению к основной валюте (предоставляется провайдером)
  • Надбавка к курсу(коэф.) - надбавка к курсу валют (в процентах)
  • Надбавка к курсу(номинал) - надбавка к номиналу курса
  • Порядок сортировки - порядковый номер валюты
  • Интернационализация через ICU - форматирование цены в формате ICU
  • Блок Форматирование валюты используется в форматированном выводе цены

и нажмите Сохранить

Для добавления нового провайдера перейдите во кладку Провайдеры курса валют (/backend/currency-rate-provider/index) и нажмите кнопку Добавить. Заполните поля:

  • Название - имя провайдера
  • Имя класса - класс реализующий интерфейс Swap\ProviderInterface
  • Параметры - дополнительные параметры класса в формате JSON

и нажмите Сохранить

Задача для обновления курса валют по расписанию

Для обновления курса валют по расписанию настройте задачу с именем Currency update.