> ## 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.

# Модуль скидок не отображается

> Устранение проблем с отсутствующими модулями скидок в магазинах с нестандартными настройками.

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

Если ваш модуль скидок не появляется в корзине-шторке, обычно это связано с одной из причин, описанных ниже.

В большинстве случаев проблема связана с типом используемой скидки, устаревшей системой корзины или конфликтом темы/приложения.

<div id="reason-1-not-a-true-shopify-discount">
  # Причина 1 — не настоящая скидка Shopify
</div>

Строка Discount или Savings в футере корзины отображается только тогда, когда к корзине применена **настоящая скидка Shopify**.

Это означает, что строка скидки **не** будет отображаться для:

* Имитированных или «фальшивых» скидок, созданных приложениями для наборов
* Приложений, которые корректируют цены товарных позиций вместо применения настоящей скидки Shopify
* Пользовательской ценовой логики, показывающей цены «до» и «после»
* **Цен для сравнения (compare-at), заданных в админ-панели Shopify** — по умолчанию. Это элементы отображения цен товаров, а не активные скидки, поэтому строка игнорирует их, если вы не включите соответствующую настройку (см. ниже).

Если через бэкенд Shopify не применена настоящая скидка Shopify, строка скидки останется скрытой — так задумано.

<Note>
  **Экономию по ценам compare-at можно учитывать в Cart Summary 2.0.** Включите **Show compare-at price savings in footer total** в разделе **Settings > Cart settings > Advanced Settings**, и строка экономии добавит разницу compare-at по каждому товару к уже учитываемым скидкам. Эту настройку читает только модуль Cart Summary версии 2 — в версии 1 строка экономии по-прежнему учитывает только коды скидок. См. [Показ экономии по ценам compare-at в итоге футера](/ru/upcart/show_compare_at_price_savings_in_footer_total).
</Note>

<div id="bundle-apps-discounts">
  ## Приложения для наборов и скидки
</div>

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

Shopify распознаёт только скидки, созданные и применённые через админ-панель Shopify (коды скидок или автоматические скидки). Если приложение:

* Корректирует цены товарных позиций
* Показывает цены «до» и «после»
* Отображает рассчитанную сумму «экономии»
* Объединяет товары в набор со сниженной ценой

но не применяет фактический объект скидки Shopify, Upcart не распознает это как скидку.

В результате строка скидки в футере корзины не будет отображаться.

<div id="reason-2-legacy-cart-token">
  # Причина 2 — устаревший токен корзины
</div>

Некоторые магазины всё ещё используют старую систему корзины Shopify, в которой отсутствует поддержка функций, необходимых для модуля скидок Upcart. При обнаружении этого Upcart автоматически скрывает модуль скидок, чтобы предотвратить проблемы.

<div id="how-to-identify">
  ## Как определить
</div>

Чтобы проверить, использует ли ваш магазин устаревший токен корзины:

1. Добавьте товар в корзину при включённом Upcart.
2. Откройте консоль разработчика вашего браузера.
3. Вставьте и выполните следующий код:

```
window.upcartModifyCart = (cart) => { if (!cart.token) { alert('No cart token found'); return; } const isLegacyCartToken = cart.token.match(/^[0-9a-f]{32}$/) !== null; alert("Is this a legacy cart token? " + (isLegacyCartToken ? "Yes" : "No")); return cart; }
```

1. Измените количество любого товара в корзине, чтобы вызвать оповещение.

<div id="how-to-fix">
  ## Как исправить
</div>

Если вы подтвердили использование устаревшего токена корзины, вам нужно обратиться в **службу поддержки Shopify** или к **разработчику вашей темы**, чтобы обновить систему корзины вашего магазина.\
См. документацию Shopify по [миграции Cart API](https://shopify.dev/docs/api/ajax#cart-token).

<div id="reason-3-theme-or-app-conflict">
  # Причина 3 — конфликт темы или приложения
</div>

Пользовательский CSS или JavaScript из вашей темы или других установленных приложений может непреднамеренно скрывать модуль скидок.

<div id="how-to-identify-2">
  ## Как определить
</div>

Проверьте вашу тему и пользовательский CSS на наличие стилей, содержащих:

* `display: none;`
* `visibility: hidden;`
* `opacity: 0;`

Они могут быть нацелены на контейнер модуля скидок или его дочерние элементы.

<div id="how-to-fix-2">
  ## Как исправить
</div>

Обратитесь к разработчику вашей темы или к разработчику конфликтующего приложения. Сообщите им, что модуль скидок должен оставаться видимым, и попросите соответствующим образом скорректировать их CSS или JavaScript.
