Вывести инфоблоки частями

162
24 ноября 2018, 14:50

Необходимо для определенных элементов инфоблока задать разную верстку :

По 9 блоков на страницу - затем повтор, снова 9 блоков.

<? 
$onePageArrays = array_chunk($arResult["ITEMS"], 9);
?>
<? foreach ($onePageArrays as $onePageArray): ?>
   <? for ($i=0; $i < count($onePageArray); $i++) { ?>
      <? if ($i == 0): ?>
         <h3><?=$arResult["ITEMS"]["$i"]["DISPLAY_PROPERTIES"]["ATT_TITLE"]["DISPLAY_VALUE"]?></h3>
      <? elseif($i >= 1 && $i <= 4): ?>
         <h3><?=$arResult["ITEMS"]["$i"]["DISPLAY_PROPERTIES"]["ATT_TITLE"]["DISPLAY_VALUE"]?></h3>
      <?php else: ?>
         <div></div>
      <?php endif ?>
   <? } ?>
<? endforeach;?>

Во втором массиве блок[0] дублирует блок[0] из первого и так далее.

Как обратится к порядковому номеру текущего массива?

Answer 1

Вы разделили исходный массив $arResult на части и итерируетесь по ним. НО почему-то вывод делаете из исходного массива, а не його частей.

Код внутри for должен быть другим:

  <? if ($i == 0): ?>
     <h3><?=$onePageArray["$i"]["DISPLAY_PROPERTIES"]["ATT_TITLE"]["DISPLAY_VALUE"]?></h3>
  <? elseif($i >= 1 && $i <= 4): ?>
     <h3><?=$onePageArray["$i"]["DISPLAY_PROPERTIES"]["ATT_TITLE"]["DISPLAY_VALUE"]?></h3>
  <?php else: ?>
     <div></div>
  <?php endif ?>
READ ALSO
Где ошибка в регулярном выражении?

Где ошибка в регулярном выражении?

Подскажите, почему не срабатывает регулярка

153
Выполнение DRY на практике

Выполнение DRY на практике

Всем приветПишу на laravel

166
Как отправить oAuth данные клиента server и получить информацию из google analytics?

Как отправить oAuth данные клиента server и получить информацию из google analytics?

Нужно использовать Google analytics api , возникла необходимость сохранить данные пользователя , и предоставить доступ к данным другому пользователю,

150