Задать вопрос
Zoylander
@Zoylander

Как вывести изображение товара?

В bitrix в карточке товара может иметься 2,3,4 и более изображений. Нужно сделать, чтобы загружалось только первое изображение. На данный момент стоит цикл, нужно его как-то убрать. Информацию в интернете пока найти не удалось.

код пока такой:
<div class="col-xs-12 col-sm-12">
		<?if($arResult["IMAGES"]):?>
	<?$i=1;foreach($arResult["IMAGES"] as $key => $img):?>
	<img src="<?=$img["BIG_IMG"]["src"]?>" alt="<?=$img["NAME"]["description"]?>" title="<?=$img["NAME"]["description"]?>">
		<?$i++;endforeach; ?>
		<?endif;?>
</div>


Если проверять через print_r, выдает массив по найденным нескольким изображениям. Мне нужно вывести только первый массив..
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Можно использовать было просто 0 ключ
<img src="<?=$arResult["IMAGES"][0]["BIG_IMG"]["src"]?>">


но лучше просто вытаскивать первый элемент массива т.к. ключи могут быть изменены.
$first = array_shift($arResult["IMAGES"]);
<img src="<?=$first["BIG_IMG"]["src"]?>">
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Zoylander
@Zoylander Автор вопроса
Решил задачу. Завершил цикл с помощью break; если id картинки более 0.
Решение не гениальное, конечно, но может кому поможет:

<div class="col-xs-12 col-sm-12">
		<?if($arResult["IMAGES"]):?>
	<?$i=1;foreach($arResult["IMAGES"] as $key => $img):?>
	<img <?if($i=1):?> itemprop="image"<?endif;?> src="<?=$img["BIG_IMG"]["src"]?>" alt="<?=$img["NAME"]["description"]?>" title="<?=$img["NAME"]["description"]?>">
		<?if ($i > 0) {break;}?>
		<?endforeach;?>
		<?endif;?>
</div>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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