Skip to content
msCurrency
msCurrency
Мультивалютность для MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Компоненты
  2. msCurrency

Сниппеты msCurrency ​

СниппетНазначение
msCurrencyПереключатель: tpl.msCurrency, tpl.msCurrencySelect, tpl.msCurrencyCompact, compact=1
msCurrencyPriceОдна цена в выбранной валюте: price, pid, cid, course, format
msCurrencyPricesЦены по всем активным валютам: price, old_price, pid, symbol, tpl
msCurrencyCartКак ms3_cart + tpl с [[+currency]] / [[+output]]
msCurrencyGetOrderКак ms3_get_order + обёртка и снимок валюты
mscLexiconScriptJSON лексикона для JS на витрине

Порядок на типовой странице ​

  1. msCurrency — в шапке или на карточке (один раз на странице достаточно).
  2. msCurrencyPrice с pid (обязательно при mscurrency_ajax_switch=1) или стандартные плейсхолдеры MS3 (если включён mscurrency_product_price).
  3. В корзине и оформлении — msCurrencyCart / msCurrencyGetOrder при mscurrency_order_price_mode=user. В строке позиции достаточно price_formatted / old_price_formatted MS3.

Таблица соответствий (MODX / Fenom) ​

НазначениеMODXFenom
Переключатель (select)[[!msCurrency? &tpl=`tpl.msCurrencySelect`]]{'!msCurrency' | snippet : ['tpl' => 'tpl.msCurrencySelect']}
Переключатель (компакт)[[!msCurrency? &compact=`1`]]{'!msCurrency' | snippet : ['compact' => 1]}
Переключатель (ссылки)[[!msCurrency? &tpl=`tpl.msCurrency`]]{'!msCurrency' | snippet : ['tpl' => 'tpl.msCurrency']}
Цена[[!msCurrencyPrice? &price=`100`]]{'!msCurrencyPrice' | snippet : ['price' => 100]}
Цена + товар[[!msCurrencyPrice? &pid=`123`]]{'!msCurrencyPrice' | snippet : ['pid' => 123]}
Код валюты[[!+msc.code]]{$_modx->getPlaceholder('msc.code')}
Курс[[!+msc.val]]{$_modx->getPlaceholder('msc.val')}
Символы[[!+msc.symbol_left]] / [[!+msc.symbol_right]]{$_modx->getPlaceholder('msc.symbol_left')}
Корзина[[!msCurrencyCart? &tpl=`tpl.cart`]]{'!msCurrencyCart' | snippet : ['tpl' => 'tpl.cart']}
Код в чанке корзины[[+currency]]{$currency}
Цена в строке корзины[[+price_formatted]]{$product.price_formatted}
Старая цена в корзине[[+old_price_formatted]]{$product.old_price_formatted}
Заказ[[!msCurrencyGetOrder]]{'!msCurrencyGetOrder' | snippet}
Список валют[[!msCurrencyPrices? &tpl=`tpl.msCurrencyPrices`]]{'!msCurrencyPrices' | snippet : ['tpl' => 'tpl.msCurrencyPrices']}
Лексикон JS[[!mscLexiconScript]]{'!mscLexiconScript' | snippet}
Отладка msc.*[[!msCurrency? &tpl=``]]{'!msCurrency' | snippet : ['tpl' => '']}

Подробнее про чанк корзины (рекомендуемый и запасной вариант): Интеграция — корзина и заказ.

Кэширование ​

Вызывайте сниппеты некэшированно ([[!...]] или {'!...' | snippet}), иначе валюта из сессии не подтянется.

Плейсхолдеры сессии ​

После выбора валюты доступны msc.* и дубли msmc.*:

fenom
{$_modx->getPlaceholder('msc.code')} — {$_modx->getPlaceholder('msc.name')} ({$_modx->getPlaceholder('msc.val')})
modx
[[!+msc.code]] — [[!+msc.name]] ([[!+msc.val]])

Лексикон для JS ​

fenom
{'!mscLexiconScript' | snippet}
modx
[[!mscLexiconScript]]

См. также ​