Всем Здравствуйте!
Зашел в тупик со следующей, казалось бы, тривиальной задачей:
В инфоблок с товарами добавил обычное свойство типа файл с кодом PICTURE_2, загрузил туда фото и пытаюсь вывести это фото на странице детального просмотра товара. Ничего не выходит.
В шаблоне компонента bitrix:catalog.element используется массив $arResult из которого заполняется массив $images. Мне всего лишь нужно передать в этот массив картинку из поля инфоблока, чтобы вывести ее рядом с DETAIL_PICTURE.
Вот кусок кода из файла /bitrix/templates/ishop/components/bitrix/catalog.element/shop/template.php
Я уже глаза сломал, пытаясь найти в тысячах строк кода где же в этот $arResult передается эта самая DETAIL_PICTURE. Вернее найти я нашел, а как туда запихнуть свою картинку .. хоть убейте не могу найти. Правка /bitrix/components/bitrix/catalog.element/component.php результата не дает. Строки, на которые я обратит внимание
Добавив туда по аналогии кусок со своим полем, ничего не не получается.
Замкнутый круг. Опять тот же массив
Подозреваю, что нужно просто добавить пару строчек кода в файл result_modifier.
К сожалению, перекопав форум и документацию ни одной строчки кода с примером как это реализовать я не нашел
Зашел в тупик со следующей, казалось бы, тривиальной задачей:
В инфоблок с товарами добавил обычное свойство типа файл с кодом PICTURE_2, загрузил туда фото и пытаюсь вывести это фото на странице детального просмотра товара. Ничего не выходит.
В шаблоне компонента bitrix:catalog.element используется массив $arResult из которого заполняется массив $images. Мне всего лишь нужно передать в этот массив картинку из поля инфоблока, чтобы вывести ее рядом с DETAIL_PICTURE.
Вот кусок кода из файла /bitrix/templates/ishop/components/bitrix/catalog.element/shop/template.php
Код |
---|
<div class="item_info"> <div class="item_slider"> <ul class="slides"> <?$images = array(); if( is_array( $arResult["DETAIL_PICTURE"] ) ){ $images[] = $arResult["DETAIL_PICTURE"]; } foreach( $arResult["MORE_PHOTO"] as $arPhoto ){ $images[] = $arPhoto; } |
Код |
---|
$arResult["PREVIEW_PICTURE"] = (0 < $arResult["PREVIEW_PICTURE"] ? CFile::GetFileArray($arResult["PREVIEW_PICTURE"]) : false); if ($arResult["PREVIEW_PICTURE"]) { $arResult["PREVIEW_PICTURE"]["ALT"] = $arResult["IPROPERTY_VALUES"]["ELEMENT_PREVIEW_PICTURE_FILE_ALT"]; if ($arResult["PREVIEW_PICTURE"]["ALT"] == "") $arResult["PREVIEW_PICTURE"]["ALT"] = $arResult["NAME"]; $arResult["PREVIEW_PICTURE"]["TITLE"] = $arResult["IPROPERTY_VALUES"]["ELEMENT_PREVIEW_PICTURE_FILE_TITLE"]; if ($arResult["PREVIEW_PICTURE"]["TITLE"] == "") $arResult["PREVIEW_PICTURE"]["TITLE"] = $arResult["NAME"]; } $arResult["DETAIL_PICTURE"] = (0 < $arResult["DETAIL_PICTURE"] ? CFile::GetFileArray($arResult["DETAIL_PICTURE"]) : false); if ($arResult["DETAIL_PICTURE"]) { $arResult["DETAIL_PICTURE"]["ALT"] = $arResult["IPROPERTY_VALUES"]["ELEMENT_DETAIL_PICTURE_FILE_ALT"]; if ($arResult["DETAIL_PICTURE"]["ALT"] == "") $arResult["DETAIL_PICTURE"]["ALT"] = $arResult["NAME"]; $arResult["DETAIL_PICTURE"]["TITLE"] = $arResult["IPROPERTY_VALUES"]["ELEMENT_DETAIL_PICTURE_FILE_TITLE"]; if ($arResult["DETAIL_PICTURE"]["TITLE"] == "") $arResult["DETAIL_PICTURE"]["TITLE"] = $arResult["NAME"]; } |
Замкнутый круг. Опять тот же массив
Код |
---|
CFile::GetFileArray($arResult["PREVIEW_PICTURE"]) |
К сожалению, перекопав форум и документацию ни одной строчки кода с примером как это реализовать я не нашел