Skip to content
  1. Компоненты
  2. msCurrency
  3. Начало работы
  4. Системные настройки

Системные настройки

Все ключи в пространстве имён mscurrency. Области: main, rates, frontend.

Основные

КлючПо умолчаниюОписание
mscurrency_selected_currency_default0ID валюты из справочника, если посетитель ещё не выбирал. 0 — базовая валюта
mscurrency_order_price_modebaseПри base суммы в корзине и заказе в базовой валюте. При user — в валюте покупателя
mscurrency_payment_currency_optionпустоИмя системной опции MODX (например ms2_payment_unitpay_currency). Пустое значение — плагин не пишет код, см. Интеграция

mscurrency_selected_currency_default

Можно задать отдельно для контекста: Система → Контексты → контекст → Настройки контекста → ключ mscurrency_selected_currency_default со значением ID валюты. Глобальное значение — в системных настройках.

mscurrency_order_price_mode

ЗначениеПоведение
baseПереключатель меняет только отображение на витрине. Корзина и заказ остаются в базовой валюте
userПлагин на msOnGetProductPrice пересчитывает цены в корзине. Символ валюты задаёт msc_sync_ms3_price_symbol()

Снимок валюты в order.properties.msc / properties.msmc сохраняется в обоих режимах.

Курсы

КлючПо умолчаниюОписание
mscurrency_default_providercbr_ruКод провайдера для cron и выборочной синхронизации: cbr_ru, nbu_ua, nbrb_by, nbk_kz

Это внутренний ключ класса, не API-токен. Для платных API ключ хранится в своём провайдере или отдельной настройке — см. Управление валютами.

Витрина

КлючПо умолчаниюОписание
mscurrency_frontend_css[[++assets_url]]components/mscurrency/css/web/default.min.cssCSS переключателя валют
mscurrency_frontend_js[[++assets_url]]components/mscurrency/js/web/default.min.jsJS переключателя (AJAX web/currency/set)

Плагин mscurrency_frontend подключает эти файлы на витрине и обновляет плейсхолдеры msc.*.

На отдельной странице пути можно переопределить параметрами frontendCss / frontendJs в вызове msCurrency. Для всего сайта проще править настройки выше.

Связанные настройки MiniShop3

Формат выведенной цены берётся из MS3:

Ключ MS3Описание
ms3_price_formatJSON: знаков после запятой, разделитель дробной части, разделитель тысяч
ms3_price_format_no_zerosУбрать хвостовые нули (15.0015)

Рекомендуемые профили

Только отображение в другой валюте, оплата в базовой валюте

  • mscurrency_order_price_mode = base
  • Cron курсов 1–2 раза в сутки

Полная мультивалютность на витрине и в заказе

  • mscurrency_order_price_mode = user
  • msCurrencyCart / msCurrencyGetOrder в чанках корзины и «спасибо за заказ»
  • Плагин mscurrency_payment_currency + mscurrency_payment_currency_option для платёжного шлюза

Несколько языковых/региональных контекстов

  • В каждом контексте свой mscurrency_selected_currency_default (например UAH для ua, KZT для kz)

Проверка в шаблоне

fenom
{'!msCurrency' | snippet : ['tpl' => 'tpl.msCurrency']}
<span class="price">
  {'!msCurrencyPrice' | snippet : ['price' => $price, 'pid' => $_modx->resource.id]}
</span>
modx
[[!msCurrency? &tpl=`tpl.msCurrency`]]
<span class="price">
  [[!msCurrencyPrice?
    &price=`[[!+price]]`
    &pid=`[[*id]]`
  ]]
</span>

См. также