Сейчас возникла необходимость добавить дополнительные картинки к элементу. Делается это через свойство типа «файл». Так как планируется добавлять несколько фотографий, то необходимо сделать его множественным как на примере ниже
Выводить множественное свойство типа файл на странице элемента в Битрикс будем через его API. Так как множественное свойство является массивом, то и выводить мы будем циклом. Foreach будет иметь вид следующий:
<? foreach ($arResult["DISPLAY_PROPERTIES"]['ATT_PHOTO']['FILE_VALUE'] as $pid => $arProperty): ?>
<a href="<? echo $arProperty['SRC']; ?>" data-fancybox="gallery_portfolio" title="Скачать <? echo $arProperty['FILE_NAME']; ?>">
<img src="<? echo $arProperty['SRC']; ?>" alt="">
</a>
<?endforeach;?>
Code language: PHP (php)
Вам лишь нужно поменять свойство ATT_PHOTO на свое.
Но в таком способе есть подвох. Так как свойство у нас множественное и если будет добавлен всего один файл, то страница может не открыться и выдать 500ю ошибку. С чем я и столкнулся сейчас при разработке шаблона. Но я нашел решение.
Чтобы не было 500й ошибки давайте сделаем проверку на количество элементов в массиве и если будет всего один элемент, то выведем данные немного иначе.
<?if(count($arResult["DISPLAY_PROPERTIES"]["ATT_PHOTO"]["FILE_VALUE"]["SRC"]) == 1):?>
<a href="<?echo $arResult["DISPLAY_PROPERTIES"]["ATT_PHOTO"]["FILE_VALUE"]["SRC"]?>" data-fancybox="gallery_portfolio" title="Скачать <?echo $arResult["DISPLAY_PROPERTIES"]["ATT_PHOTO"]["FILE_VALUE"]["FILE_NAME"] ?>">
<img src="<?echo $arResult["DISPLAY_PROPERTIES"]["ATT_PHOTO"]["FILE_VALUE"]["SRC"]?>" alt="">
</a>
<?else:?>
<? foreach ($arResult["DISPLAY_PROPERTIES"]['ATT_PHOTO']['FILE_VALUE'] as $pid => $arProperty): ?>
<a href="<? echo $arProperty['SRC']; ?>" data-fancybox="gallery_portfolio" title="Скачать <? echo $arProperty['FILE_NAME']; ?>">
<img src="<? echo $arProperty['SRC']; ?>" alt="">
</a>
<?endforeach;?>
<?endif?>
Code language: PHP (php)