После обновления ядра 1С-Битрикс до версии 23.300.0 многие владельцы интернет-магазинов столкнулись с неприятной проблемой: в разделах каталога, на карточках товаров и в топ-подборках перестали отображаться цены. Вместо них пользователи видят пустое место. Эта ошибка критична для коммерческих сайтов, так как делает невозможными продажи.
В этой статье мы разберем причину возникновения ошибки и предоставим четкое пошаговое решение для ее устранения.
Причина ошибки
Проблема связана с изменениями в работе стандартных компонентов каталога (catalog.section, catalog.element, catalog.top) в новой версии платформы. В некоторых случаях, особенно при использовании кастомных шаблонов или сложных настроек, эти изменения приводят к сбою в механизме отображения цен.
Решение: включение режима совместимости
Самое быстрое и эффективное решение — добавить в вызов проблемных компонентов специальный параметр, который активирует предыдущий, стабильный алгоритм работы.
Вам необходимо найти в шаблоне сайта вызовы следующих компонентов и отредактировать их:
bitrix:catalog.section (список товаров в разделе)
bitrix:catalog.element (детальная страница товара)
bitrix:catalog.top (список лидеров продаж, рекомендуемые товары)
Как это сделать?
Нужно добавить в массив параметров ($arParams) каждого из этих компонентов следующую строку:
"COMPATIBLE_MODE" => "Y"
Пример для компонента catalog.section:
<?php
$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"template_name",
array(
// ... все ваши текущие параметры ...
"COMPATIBLE_MODE" => "Y", // <- Добавьте эту строку
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "2",
// ... остальные параметры ...
),
$component
); ?>
Где искать эти вызовы?
- В визуальном редакторе: Если компоненты добавлены через визуальный редактор в публичной части, перейдите в режим правления сайтом, найдите нужный блок и откройте настройки компонента.
- В файлах шаблона: Чаще всего вызовы находятся в файлах шаблона сайта, например:
/bitrix/templates/ваш_шаблон/components/...
/bitrix/templates/ваш_шаблон/sections/
/local/templates/ваш_шаблон/...
- Файлы
section.php, element.php, index.php в разделах.
Что делать после исправления?
- Очистите все виды кеша (компонентный, агрегированный, управляемый) в административной панели (Настройки > Настройки продукта > Производительность > Очистить кеш).
- Обновите страницу сайта. Цены должны снова отображаться.
- Проверьте работу всех типов цен (базовая, оптовая, со скидкой) и правильность расчетов.
Важные замечания
- Параметр
COMPATIBLE_MODE => "Y" является временным решением, обеспечивающим обратную совместимость.
- Рекомендуется в ближайшее время провести аудит шаблонов и привести их в соответствие с новыми стандартами Битрикс, чтобы в будущем отказаться от этого параметра.
- Перед внесением любых правок в файлы шаблона создайте их резервную копию.
- Убедитесь, что все модули (особенно «Торговый каталог» и «Информационные блоки») также обновлены до последних версий.
Заключение
Описанный метод является официальным и безопасным способом восстановления отображения цен после обновления. Если проблема сохраняется даже после применения решения, проверьте корректность настроек типов цен, прав доступа к ним и наличие самих цен у товаров в административном интерфейсе.
После обновления ядра 1С-Битрикс до версии 23.300.0 многие владельцы интернет-магазинов столкнулись с неприятной проблемой: в разделах каталога, на карточках товаров и в топ-подборках перестали отображаться цены. Вместо них пользователи видят пустое место. Эта ошибка критична для коммерческих сайтов, так как делает невозможными продажи.
В этой статье мы разберем причину возникновения ошибки и предоставим четкое пошаговое решение для ее устранения.
Причина ошибки
Проблема связана с изменениями в работе стандартных компонентов каталога (
catalog.section,catalog.element,catalog.top) в новой версии платформы. В некоторых случаях, особенно при использовании кастомных шаблонов или сложных настроек, эти изменения приводят к сбою в механизме отображения цен.Решение: включение режима совместимости
Самое быстрое и эффективное решение — добавить в вызов проблемных компонентов специальный параметр, который активирует предыдущий, стабильный алгоритм работы.
Вам необходимо найти в шаблоне сайта вызовы следующих компонентов и отредактировать их:
bitrix:catalog.section(список товаров в разделе)bitrix:catalog.element(детальная страница товара)bitrix:catalog.top(список лидеров продаж, рекомендуемые товары)Как это сделать?
Нужно добавить в массив параметров ($arParams) каждого из этих компонентов следующую строку:
Пример для компонента catalog.section:
Где искать эти вызовы?
/bitrix/templates/ваш_шаблон/components/.../bitrix/templates/ваш_шаблон/sections//local/templates/ваш_шаблон/...section.php,element.php,index.phpв разделах.Что делать после исправления?
Важные замечания
COMPATIBLE_MODE => "Y"является временным решением, обеспечивающим обратную совместимость.Заключение
Описанный метод является официальным и безопасным способом восстановления отображения цен после обновления. Если проблема сохраняется даже после применения решения, проверьте корректность настроек типов цен, прав доступа к ним и наличие самих цен у товаров в административном интерфейсе.