Как лучше в 1с Битрикс на странице читаемой новости вывести список других новостей из категории к которой относится читаемая новость?
Ссылка скопирована
По вводным: подскажите, как в 1с Битрикс на странице читаемой новости вывести другие новости этой же категории к которой относится читаемая новость. Я голову ломаю над этой задачей уже второй вечер. Я использую компонент bitrx.news
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
SMM
Из-за чего не сохраняется видео в мобильной программе blackmagic?
1 ответ

В 1С-Битрикс на странице детальной новости список других новостей из той же категории можно вывести через компонент
news.list, передав ему фильтр по разделу текущей новости и исключив текущий элемент. Не нужно писать SQL напрямую: используйте стандартный фильтр компонента или API инфоблоков.На детальной странице обычно известны
IBLOCK_ID,IBLOCK_SECTION_IDиIDтекущей новости. В шаблоне детальной новости можно задать глобальный фильтр:global $sameSectionFilter; $sameSectionFilter = array( 'IBLOCK_ID' => $arResult['IBLOCK_ID'], 'SECTION_ID' => $arResult['IBLOCK_SECTION_ID'], '!ID' => $arResult['ID'], 'ACTIVE' => 'Y', );
Затем подключить
bitrix:news.list:$APPLICATION->IncludeComponent( 'bitrix:news.list', 'related_news', array( 'IBLOCK_ID' => $arResult['IBLOCK_ID'], 'NEWS_COUNT' => 4, 'FILTER_NAME' => 'sameSectionFilter', 'PARENT_SECTION' => $arResult['IBLOCK_SECTION_ID'], 'INCLUDE_SUBSECTIONS' => 'Y', 'CACHE_TYPE' => 'A', 'CACHE_TIME' => 36000000, ) );
Если новость может быть без раздела, предусмотрите fallback: последние новости инфоблока или новости по тегам. Если у элемента несколько разделов, нужно решить, какой считать основным.
Обязательно проверьте кэш. Если фильтр зависит от текущей новости, параметры должны попадать в кэш-ключ компонента. Иначе на разных детальных страницах может выводиться один и тот же список.
Итог: берите раздел текущей новости, исключайте текущий ID и выводите
news.listс фильтром. Это безопаснее и поддерживаемее, чем ручная выборка в шаблоне без кэша.