Как можно организовать вывод списка фотографий "До" и "После" правильно из множественных свойств типа "файл" в Битриксе, чтобы каждая пара фотографий оказалась в своем блоке с классом "cocoen"?
Для этого можно воспользоваться вложенными циклами в шаблоне Битрикс. Пример кода на PHP: ``` <?php // Получаем свойства элемента инфоблока $photos_before = $arResult["PROPERTIES"]["PHOTOS_BEFORE"]["VALUE"]; $photos_after = $arResult["PROPERTIES"]["PHOTOS_AFTER"]["VALUE"]; if(count($photos_before) == count($photos_after)) { $count = count($photos_before); // Выводим каждую пару фотографий в своем блоке с классом "cocoen" for($i = 0; $i < $count; $i++) { ?> <div class="cocoen"> <img src="<?=CFile::GetPath($photos_before[$i])?>" alt="Before"> <img src="<?=CFile::GetPath($photos_after[$i])?>" alt="After"> </div> <?php } } ?> ``` В данном примере мы сначала получаем значения свойств "PHOTOS_BEFORE" и "PHOTOS_AFTER". Затем проверяем, что количество фотографий "До" и "После" одинаково. После этого в цикле выводим каждую пару фотографий в блоке с классом "cocoen". Для получения пути к файлу используется функция CFile::GetPath().
Одиакового ничего, идея скорее всего выводить по идексу в массиве
Значит нужно по индексу и связывать
<?php foreach ($arItem['PROPERTIES']['IMG_BEFORE']['VALUE'] as $index => $arImgBeforeSrc): ?> <?php $arImgAfterSrc = $arItem['PROPERTIES']['IMG_AFTER']['VALUE'][$index] ?> <div class="cocoen"> <img data-src="" class="blog-list__item-image<?=($arParams['ROUNDED_IMAGE'] ? ' rounded' : '');?>" src="<?=CFile::getPath($arImgBeforeSrc);?>" alt=""> <img data-src="" class="blog-list__item-image<?=($arParams['ROUNDED_IMAGE'] ? ' rounded' : '');?>" src="<?=CFile::getPath($arImgAfterSrc);?>" alt=""> </div> <?php endforeach ?>
Только в коде не учтен момент, когда изображение "после" может отсутствовать. Во избежание ошибки, вторую картинку лучше в условии выводить и в объявлении переменной$arImgAfterSrc
проверку сделать.