Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Группировка выводимых товаров

00 голосов
5
Приветствую всех.

Возможно, кто сталкивался с задачей.
В настройках компонента отображения товаров есть замечательная галочка "Показывать элементы подразделов раздела". При этом все товары со всех подразделов текущего раздела выводятся с постраничной разбивкой.

Вопрос. Как сделать, чтобы разбивка шла не по страницам, а по группам? Т.е. выводились сразу все товары, но можно было бы видеть, что они относятся к разным группам.

Пример.

Название группы 1
Товар 1
Товар 2
Товар 3
Название группы 2
Товар 4
Товар 5
Товар 5

и т.д.

Буду очень благодарен за помощь.
спросил 08 Ноя, 13 от vitar (100 баллов)

5 Ответы

00 голосов
Неужели никто с подобным не сталкивался?
Или наоборот? Задача слишком тривиальна, чтобы её здесь обсуждать? :-D
ответил 18 Дек, 13 от vitar (100 баллов)
00 голосов
Цитата
Вадим Семилетов пишет:
Как сделать, чтобы разбивка шла не по страницам, а по группам? Т.е. выводились сразу все товары, но можно было бы видеть, что они относятся к разным группам.

Я бы открыл шаблон компонента и переписал цикл вывода там. Но не факт, что это наиболее оптимальный вариант.
ответил 03 Апр, 14 от Askaria (380 баллов)
00 голосов
В общем да, вариант.
На самом деле можно просто группировать элементы по ID родителя. Желательно в этом случае ещё и отсортировать элементы по этому самому ID родителя.

Тогда вопрос.
Каким образом получить внутри шаблона "catalog.section" ID родителя элемента и отсортировать элементы по этому ID? :-)
ответил 26 Июль, 14 от vitar (100 баллов)
00 голосов
Проще всего такое можно сделать с помощью компонента bitrix:catalog.sections.top сортировка разделов по LEFT_MARGIN.
Упрощенный шаблон вывода:
Код
<?foreach($arResult["SECTIONS"] as $arSection):?>
   <?if (count($arSection["ITEMS"])>0):?>
      <b><?=$arSection["NAME"]?></b><br />
   <?endif;?>
   <?foreach($arSection["ITEMS"] as $arElement):?>
      <?=$arElement["NAME"]?><br />
   <?endforeach;?>
<?endforeach?>
ответил 27 Ноя, 14 от NitroGeN (2,840 баллов)
00 голосов
Спасибо большое. Я даже не знал про этот компонент :-)
Тогда у меня остаётся один вопрос. Как выводить определенные свойства для товаров?
При выводе компонента bitrix:catalog:section я использовал следующий код:
Код
<? $db_props = CIBlockElement::GetProperty($arElement['IBLOCK_ID'], $arElement['ID'], "sort", "asc", Array("CODE"=>"СИМВОЛЬНЫЙ КОД СВОЙСТВА"));
if($ar_props = $db_props->Fetch()) print_r($ar_props['VALUE']); ?>
А как эту операцию проводить для компонента bitrix:catalog.sections.top?
ответил 23 Март, 15 от vitar (100 баллов)

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

0 голосов
6 ответов
0 голосов
3 ответов
0 голосов
0 ответов
0 голосов
2 ответов
спросил 27 Апр, 14 от VINCHENSO (100 баллов)
0 голосов
3 ответов
спросил 24 Фев, 14 от Chemikals (840 баллов)