Как вывести элементы в разных div классах?

Есть верстка, в которой меняются div классы, внутри надо вывести заголовок элемента, анонсовый текст и ссылку.

Вот так, все отображается, вроде бы как надо, но заместо 4 элементов, везде выводится 1
Не могу разобраться как правильно сделать

Шаблон компонента news.list
<?php
$caritem = array ("car__item_left", "car__item_left-bottom", "car__item_middle", "car__item_middle-bottom");
?>
	<div class="car__items">	
	<?foreach($caritem as $key => $value):?>
	 <?foreach ($arResult['ITEMS'] as $key => $arItem):?>
		<div class="car__item <?echo "$value "?>">
		<div class="car__button"></div>			
			<div class="car__hover car__hover_mobile">			
				<h3 class="car__title"><?echo $arItem["NAME"]?></h3>			
				<div class="car__text">
					<p><?echo $arItem["PREVIEW_TEXT"];?></p>
				</div>
 <a class="link link_car" href="<?echo $arItem["DETAIL_PAGE_URL"]?>">Подробнее</a>
			</div>			
		</div>		
	<?endforeach;?><?endforeach;?>
	</div>
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 2
1. В настройках компонента смотрели, сколько там элементов на страницу выводится?
2. Не стоит использовать во внутрилежащем foreach тот же ключ, что у первого foreach. Вы в обоих случаях используете $key.
Ответ написан
@novrm
Почему бы код не переписать как-то так:

<?php $caritem = ["car__item_left", "car__item_left-bottom", "car__item_middle", "car__item_middle-bottom"]; ?>
<div class="car__items">	
    <?php foreach($caritem as $key1 => $value): ?>
        <?php foreach ($arResult['ITEMS'] as $key2 => $arItem): ?>
        <div class="<?= 'car__item' . $value ?>">
            <div class="car__button"></div>
            <div class="car__hover car__hover_mobile">
                <h3 class="car__title"><?= $arItem['NAME'] ?></h3>
                <div class="car__text">
                    <p><?= $arItem['PREVIEW_TEXT'] ?></p>
                </div>
                <a class="link link_car" href="<?= $arItem['DETAIL_PAGE_URL']?>">Подробнее</a>
            </div>
        </div>
        <?php endforeach ?>
    <?php endforeach ?>
</div>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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