Отображение скидки в списке каталога и карточке товара при правилах корзины
Зачем отдельно настраивать правило
Компоненты списка и карточки (bitrix:catalog.section, bitrix:catalog.element) заранее считают доступные скидки, чтобы показать зачёркнутую цену и процент. Если правило корзины завязано только на абстрактное «товар в корзине» или обвивает сложное дерево ограничений, движок может корректно применить скидку при оформлении, но не подхватит её на этапе витринного расчёта.
Минимальный набор условий для витрины
Типовая рекомендация для сценария «видно в каталоге и в карточке» выглядит так:
- в блоке условий выберите группу вроде «Поля и характеристики товара в инфоблоке» и привяжите правило к конкретному элементу каталога — например, условие «Товар равен…» для нужных позиций; варианты из раздела «Параметры в корзине» (например, «Товар в корзине») для этой цели обычно не подходят;
- не добавляйте вторичных веток условий поверх этой привязки — чистая схема проще попадает в расчёт цен на списке;
- не ограничивайте правило отдельными группами пользователей: иначе гость и типовой посетитель увидят базовую цену в списке, хотя после авторизации скидка в заказе проявится.
Это не «вредные советы» админки, а следствие того, как ядро сопоставляет правила маркетинга и модуль каталога при построении цены вне корзины.
Если после правок цена всё ещё «цельная»
Проверьте активность правила и пересечение с другими скидками более высоким приоритетом. Для динамики именно в блоке оформления с заказом по AJAX имеет смысл сверить поведение с алгоритмом пересчёта в корзине — там другой контекст, и конфликт условий иногда виден только на этапе checkout.
Краткий чеклист
- условие из блока про инфоблок и поля товара;
- нет лишних вложенных условий в том же правиле;
- нет фильтра по группам пользователей;
- правило активно и не перекрыто другим по приоритету.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии