Задать вопрос
@Sky161
Начинающий Web-разработчик

CFile::ResizeImageGet не работает со свойствам раздела UF?

Вообщем следующая ситуация: Есть разделы в инфоблоке и в нем пользовательское свойство файл, множественное. Удалось через result_modifer.php получить массив с путями к файлу и поместить в нужную мне ячейку, но вот функция CFile::ResizeImageGet отказывается работать. В чем может быть причина? и как решить данную проблему? Ниже листинги файлов.
result_modifer.php
//ICON PATH AND PORTFOLIO
foreach($arResult['SECTIONS'] as $key => $sections){
	$arResult["SECTIONS"][$key]["ICON_PATH"] = CFile::GetPath($sections['UF_ICON']);

	if($arResult['SECTION']['ID'] == $sections['ID']){
		foreach($sections["UF_PORTFOLIO"] as $k => $portolio){
			$arResult["SECTION"]["PORTFOLIO"][$k]["ID"] = $portolio;
			$arResult["SECTION"]["PORTFOLIO"][$k]["SRC"] = CFile::GetPath($portolio);
		}
	}
}

template.php
<?if(!empty($arResult["SECTION"]["PORTFOLIO"])){?>
		<section class="portfolio-module">
			<?foreach($arResult["SECTION"]["PORTFOLIO"] as $arPortfolio){
				$resizePhoto = CFile::ResizeImageGet($arPortfolio, array('width'=>500, 'height'=>450), BX_RESIZE_IMAGE_PROPORTIONAL, true);
			?>
				<img src="<?=$resizePhoto['src'];?>">
			<?}?>
		</section>
	<?}?>

Сам массив $arResult выглядит так:
[PORTFOLIO] => Array
(
[0] => Array
(
[ID] => 50
[SRC] => /upload/uf/8e6/8e6b6896fd03f0e24e2cd49cc58e562e.jpg
)

[1] => Array
(
[ID] => 51
[SRC] => /upload/uf/565/565686bdc66fab2ad7948b12df2008dc.jpg
)

[2] => Array
(
[ID] => 52
[SRC] => /upload/uf/649/649086d3a8cd0d2653aa4a8e5c93dce7.jpg
)

[3] => Array
(
[ID] => 53
[SRC] => /upload/uf/3f3/3f3a88304ae14cd639174c9f6fa20a19.jpg
)

[4] => Array
(
[ID] => 54
[SRC] => /upload/uf/c06/c06e254494c84b05b7328f48d549b86a.jpg
)

[5] => Array
(
[ID] => 55
[SRC] => /upload/uf/7b3/7b3b703bc04d2f3bfd3b3f071c4ef86e.jpg
)

)
  • Вопрос задан
  • 1391 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Rema1ns
@Rema1ns
и так сойдет
1й параметр - Идентификатор файла из таблицы b_file или массив описания файла (Array(FILE_NAME, SUBDIR, WIDTH, HEIGHT, CONTENT_TYPE)), полученный методом GetFileArray.

Проверьте подходит ли то, что вы суете в функцию к этому описанию
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Express777
@Express777
В CFile::ResizeImageGet первым параметром нужно передавать ИД файла-картины:
<?foreach($arResult["SECTION"]["PORTFOLIO"] as $arPortfolio){
        $resizePhoto = CFile::ResizeImageGet($arPortfolio, array('width'=>500, 'height'=>450), BX_RESIZE_IMAGE_PROPORTIONAL, true);
      ?>
        <img src="<?=$resizePhoto['src'];?>">
      <?}?>

$arPortfolio, судя по дампу, массив с двумя ключами Ид и путь картинки( ID & SRC соотвветственно).
Функция такой параметр не поймет.
Можно было написать вот так:
<?foreach($arResult["SECTION"]["PORTFOLIO"] as $arPortfolio){
        $resizePhoto = CFile::ResizeImageGet($arPortfolio["ID"], array('width'=>500, 'height'=>450), BX_RESIZE_IMAGE_PROPORTIONAL, true);
      ?>
        <img src="<?=$resizePhoto['src'];?>">
      <?}?>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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