> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройка форматирования валюты в Upcart

> Управляйте отображением валюты в корзине с помощью Shopify Markets и настроек пользовательского скрипта.

<div id="overview">
  # Обзор
</div>

Эта настройка позволяет изменить отображение символов и кодов валюты в вашей корзине-шторке Upcart. Вы можете управлять тем, показывать ли символ валюты (например, `$`), код валюты (например, `USD`), где они располагаются и как разделяются пробелами.

Для этой настройки требуется, чтобы:

* Ваш магазин использовал **Shopify Markets**, или
* Вы работали с **одним рынком**

***

<div id="where-to-add-the-script">
  ## Куда добавить скрипт
</div>

1. Перейдите в **Upcart > Cart Editor > Settings > Custom HTML**
2. В выпадающем списке **Select HTML Location** выберите **Scripts (Before load)**
3. Вставьте приведённый ниже скрипт в поле ввода
4. Сохраните изменения

***

<div id="currency-formatting-script">
  ## Скрипт форматирования валюты
</div>

```html theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
<!-- Upcart Currency Formatting Script -->
<script>
// ~~~~~~START OF MERCHANT SETTINGS~~~~~~
let useCurrencySymbol = true;
let useCurrencyCode = true;
let currencySymbolPlacement = 'left';     // 'left' or 'right'
let currencyCodePlacement = 'right';      // 'left' or 'right'
let currencySymbolSpacing = false;
let currencyCodeSpacing = true;
let currencyFormat = "{{amount}}";        // Use Shopify's currency format
// ~~~~~~END OF MERCHANT SETTINGS~~~~~~

formatCurrency();

function formatCurrency() {
  let currencyMap = fillCurrencyMap(new Map());
  let currencyCode = Shopify.currency.active;
  let currencySymbol = currencyMap.get(currencyCode);

  if (currencySymbolPlacement == 'left' && currencyCodePlacement == 'left') {
    window.upcartMoneyFormat =
      (useCurrencyCode ? currencyCode : "") +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat;

  } else if (currencySymbolPlacement == 'left' && currencyCodePlacement == 'right') {
    window.upcartMoneyFormat =
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "");

  } else if (currencySymbolPlacement == 'right' && currencyCodePlacement == 'right') {
    window.upcartMoneyFormat =
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "");

  } else if (currencySymbolPlacement == 'right' && currencyCodePlacement == 'left') {
    window.upcartMoneyFormat =
      (useCurrencyCode ? currencyCode : "") +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      currencyFormat +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "");

  } else {
    console.warn("Unexpected placement configuration. Falling back to default.");
    window.upcartMoneyFormat =
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "");
  }
}

function fillCurrencyMap(map) {
  map.set('EUR', '€');
  map.set('GBP', '£');
  map.set('JPY', '¥');
  map.set('AUD', '$');
  map.set('CAD', '$');
  map.set('CHF', 'CHF');
  map.set('CNY', '¥');
  map.set('INR', '₹');
  map.set('RUB', '₽');
  map.set('BRL', 'R$');
  map.set('ZAR', 'R');
  map.set('MXN', '$');
  map.set('SGD', '$');
  map.set('NZD', '$');
  map.set('HKD', 'HK$');
  return map;
}
</script>
```

***

<div id="settings-explained">
  ## Пояснение настроек
</div>

Внутри скрипта найдите этот раздел:

```
// ~~~~~~START OF MERCHANT SETTINGS~~~~~~
```

Вы можете изменять эти значения, чтобы управлять отображением валюты в корзине:

|                             |                                                              |                                                                               |
| --------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------- |
| Настройка                   | Описание                                                     | Варианты                                                                      |
| **useCurrencySymbol**       | Показать или скрыть символ валюты (пример: `$`)              | `true` / `false`                                                              |
| **useCurrencyCode**         | Показать или скрыть код валюты (пример: `USD`)               | `true` / `false`                                                              |
| **currencySymbolPlacement** | Где отображается символ                                      | `'left'` / `'right'`                                                          |
| **currencyCodePlacement**   | Где отображается код                                         | `'left'` / `'right'`                                                          |
| **currencySymbolSpacing**   | Добавляет пробел между символом и суммой (пример: `$ 10.00`) | `true` / `false`                                                              |
| **currencyCodeSpacing**     | Добавляет пробел между кодом и суммой (пример: `10 USD`)     | `true` / `false`                                                              |
| **currencyFormat**          | Управляет форматированием чисел                              | `{{amount}}`, `{{amount_no_decimals}}` и т. д. (см. параметры валюты Shopify) |

***

<div id="final-result">
  ## Итоговый результат
</div>

После добавления и сохранения скрипта:

* Символы и коды валюты отображаются точно так, как настроено
* Работает во всех частях шторки Upcart, включая вознаграждения и апсейлы
* Автоматически адаптируется к **Shopify Markets**, если они включены

***

<div id="need-help">
  ## Нужна помощь?
</div>

Для расширенной настройки мы рекомендуем обратиться к **эксперту Shopify**. Команда поддержки Upcart не помогает с написанием или отладкой пользовательского кода.

[Найти экспертов Shopify](https://www.shopify.com/partners/directory)
