Создан и настроен инфоблок под эти товары со всеми пользовательскими полями . Структура примерно следующая:
-Товары
- -Категория 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>
|