Меню
Добрый день . Являюсь начинающим разработчиком под CMS Bitrix.  Необходимо на сайте реализовать  табы.  
Создан и настроен инфоблок под  эти товары со всеми пользовательскими  полями . Структура  примерно следующая:
-Товары
- -Категория 1
   ---Товар
   ---Товар
- -Категория 2
   ---Товар №
и так далее.
Как правильно   реализовать ?  Ведь через API  или прямые запросы к БД это плохой тон и костыли не охото делать...
Единственная идея в моей голове    сделать вот так :   Сначала перебираем  все категории   а потом из этих категорий выводим товары. И приходится копипастить  такой код в  каждый элемент таба  меняя SECTION_ID
Код
   <div id="first">
      <div id='b01'>
         <?

   
         $arFilter = Array('IBLOCK_ID'=>1, 'GLOBAL_ACTIVE'=>'Y', 'SECTION_ID'=>1);
         $db_list = CIBlockSection::GetList(Array(), $arFilter, true);
            while($ar_result = $db_list->GetNext())
            {
               $arrayID[] = $ar_result['ID'];
            }
            
         $arSelect = Array("ID", "IBLOCK_ID", "NAME", 'DETAIL_PAGE_URL','PREVIEW_PICTURE');
         $arFilter = Array("IBLOCK_ID"=>1, "SECTION_ID"=>$arrayID);
         $res = CIBlockElement::GetList(Array("RAND"=>"ASC"), $arFilter, false,  Array("nTopCount"=>5), $arSelect);
            while($ob = $res->GetNextElement()){ 
               $ar_fields = $ob->GetFields();  
            

            ?>
            <div id='b01-block'>
               <div id='b01-block-inner'>
                  <div id='b01-img'>
                  <a href='<?=$ar_fields['DETAIL_PAGE_URL']?>'><img src='<?=CFile::GetPath($ar_fields['PREVIEW_PICTURE'])?>' alt='<?=$ar_fields['NAME']?>' title='Купить <?=$ar_fields['NAME']?>'></a></div>
               <div id='b01-desc'><a href='<?=$ar_fields['DETAIL_PAGE_URL']?>'><?=$ar_fields['NAME']?></a></div>      
               </div>
            </div>
            
            <?
            }
            ?>                     
      </div>
   </div>
Видеоуроки по
1С-Битрикс
на моем Boosty канале Видео
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Блог-note: заметки разработчика

Кастомизация поля input type file, свой внешний вид

Задача: Поле input type="file" предоставляет возможность загрузки файлов на веб-странице. Однако стандартный в...

Выбор основного раздела для элемента инфоблока в 1С-Битрикс

Проблема: при привязке элемента инфоблока к нескольким разделам возникают дубли его детальной страницы, в зависимости от...

Показать доступный остаток каждого товара в корзине 1С-Битрикс

Задача: показать остаток каждого товара в корзине 1С-Битрикс, что бы покупатель сразу знал предельное колличество товара...

Вывести разделы инфоблока по первым буквам не меняя структуру каталога. Алфавитный указатель

Например: у нас есть инфоблок с большим количеством разделов. И мы хотим, на сайте разбить разделы по буквам. Самый прос...

Установка счетчика Яндекс.Метрики на сайт с Content Security Policy (CSP)

Если на вашем сайте не отображаются данные о кликах и скроллинге в Яндекс.Метрике, вероятнее всего, это связано с настро...

Уникальный URL для торговых предложений (SKU) с возможностью автоматического выбора предложения при переходе по ссылке.

Задача: на странице товара необходимо реализовать функцию автоматического изменения URL при выборе определенной товарной...

Добавление своих полей в почтовые шаблоны Битрикс

Иногда нужно внести свои поля в почтовые шаблоны битрикс. Например: добавить имя и номер телефона заказчика в почтовый ш...

Следующая/предыдущая новость/статья при просмотре подробной в Битрикс

Странное дело, в Битрикс по умолчанию, отсутсвует функционал для навигации внутри новостей или статей типа: "Следующая/...

Вывести минимальную цену самого дешевого торгового предложения

Если у товара несколько торговых предложений и у каждого предложения разные цены, иногда требуется вывести минимальную ц...