Dima_So
@Dima_So
Experientia est optima magistra

Как получить значение пользовательского поля типа файл?

Для разделов добавил поле типа файл: UF_LOGO_MANUFACTURE

В шаблоне комплексного компонента catalog catalog.element добавляю:

<?foreach ($arResult["UF_LOGO_MANUFACTURE"] as $EX):?>
                               <?
                                   $arFile = CFile::GetFileArray($EX);
                           //print_r($arFile);
                               ?>
                               <?$renderImage = CFile::ResizeImageGet($arFile, Array("width" => 820, "height" => 523), BX_RESIZE_IMAGE_EXACT);?>
                                <img src="<?=$renderImage['src']?>" alt="Слайд" width="820" height="523">
                        <?endforeach?>


Но результата нет. Пробовал все решения, что нашел в Google, но значение в массив так и не попадает. В чем ошибка?
  • Вопрос задан
  • 599 просмотров
Пригласить эксперта
Ответы на вопрос 2
Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!
А в $arResult поле UF_LOGO_MANUFACTURE вообще есть? Для начала вам нужно получить пользовательское поле. Например так:
$arFilter = array(
	'IBLOCK_ID' => $arResult['IBLOCK_ID'],
	'ID' => $arResult['IBLOCK_SECTION_ID'],
);
$arSelect = array('ID','UF_*');
$res = CIBlockSection::GetList(array(), $arFilter, false, $arSelect);
if($ar_logos = $res->GetNext())
	$arLogo = $ar_logos;

Далее выводите как вам вздумается:
<?if(!empty($arLogo['UF_LOGO_MANUFACTURE'])):{?>
			<?foreach($arLogo['UF_LOGO_MANUFACTURE'] as $arLogoID):?>
				if(empty($arLogoID)) break;

				$arFile[$arLogoID] = CFile::GetFileArray($arLogoID);

				// Ресайзим если надо
				$arFileTmp = CFile::ResizeImageGet(
					$arLogoID,
					array("width" => 820, "height" => 523),
					BX_RESIZE_IMAGE_PROPORTIONAL,
					true, $arFilter
				);

				?>
				<img src="<?=$arFileTmp["src"]?>">
			<?endforeach;?>
		<?}endif;?>
Ответ написан
Комментировать
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Покажите содержимое переменных:
  • $EX
  • $arFile
Ответ написан
Ваш ответ на вопрос

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

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