Почему функция search.title в Битрикс отображает товары, которые недоступны для покупки?

Здравствуйте! Можете, пожалуйста, подсказать, что может быть причиной проблемы с компонентом search.title? Он отображает неактивные товары, а также товары без цены. Когда нажимаешь "больше результатов", оказывается, что все товары определенного бренда неактивны (при поиске по названию бренда). 

В шаблон компонента Битрикса уже передаются результаты в виде 5 ID этих товаров. Переиндексацию я проводил, и программно в поиск не вмешивались. У меня установлена последняя версия Битрикса и шаблона Nextype.Альфа. Используемые технологии: PHP 8.3, MySQL >8, BitrixVM 9.
  • 14 февраля 2025 г. 4:34
Ответы на вопрос 2
Здравствуйте!

Проблема с отображением неактивных товаров в компоненте `search.title` может быть вызвана несколькими причинами. Давайте рассмотрим возможные факторы:

1. **Настройки индексации**: Убедитесь, что в настройках модуля "Поиск" (или в настройках соответствующего компонента) правильно настроены параметры индексации. Возможно, в конфигурации не указано, что нужно исключать неактивные товары или товары без цены.

2. **Фильтрация результатов**: Возможно, в шаблоне или компоненте не реализована фильтрация возвращаемых результатов. Нужно убедиться, что в запрос к базе данных, который выполняется для получения результатов, добавлены условия на проверку статуса товара (например, активен ли товар) и наличие цены.

3. **Кэширование**: Проверьте, не кэшируются ли результаты поиска. Если кэшируется результат без учета актуального статуса товаров, вы можете получать устаревшую информацию.

4. **Баг в версии**: Убедитесь, что в вашей версии Битрикса нет известных багов, связанных с компонентом поиска. Возможно, стоит обратиться в службу поддержки Битрикса или на форум сообщества, чтобы узнать, нет ли у других пользователей аналогичной проблемы.

5. **Статусы товаров**: Проверьте статусы товаров в админ-панели. Возможно, вы случайно изменили статус или конфигурацию для некоторых товаров, о чем не подозреваете. 

6. **Тестирование**: Попробуйте временно создать копию компонента `search.title` с выводом дополнительных отладочных данных (например, статусов и цен товаров), чтобы лучше понять, какие именно данные возвращаются.

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