Задать вопрос
@randm18

Как вывести только те элементы Битрикс, которые привязаны к чему-то?

Есть два инфоблока, допустим товар и категория.
Каждый товар привязан ка какой-то категории.
Товар 1 - Мягкая игрушка
Товар 2 - Мягкая игрушка
Товар 3 - Конструктор
Товар 4 - Бумага там какая-нибудь и т.д.
И допустим сам список категорий
Мягкая игрушка, конструктор, бумага, развивающие игры, что-то там еще, в общем категорий много и не во всех есть товары.

Категории выводятся компонентом list.news, там красиво все постранично разбивается и т.д., но нужно убрать те категории, в которых нет товаров. Сразу же что банально пришло в голову, это при пробежке по массиву проверять есть ли в категории товар.

$myFilter = array(
	"IBLOCK_ID" => 8,
	"PROPERTY_CATEGORY_VALUE" => $arItem["NAME"],
	"ACTIVE" => "Y"
);
$myItems = CIBlockElement::GetList(Array("SORT" => "ASC"), $myFilter, false, false, Array());
$checkCount = $myItems->SelectedRowsCount();

Ну и дальше, если больше 0, то выводим. В принципе вещь рабочая, но постраничная навигация не понимает ее, это в принципе то и понятно. На странице где должно быть 8 категорий может стать 2, 3 в общем хоть 0, зависит от того были ли товары там. Я так понимаю как-то можно улучшить работу самого компонента, чтобы он на стадии формирования понимал что нужно включать, а что нет и потом на оставшихся данных уже привязывал пагинацию. Подскажите куда копнуть.
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы