Задать вопрос
@IgorRastarov

Как вывести свойство через GetListв битркис?

Мне нужно вытащить свойство MORE_PHOTO.
Вот кусок кода в catalog.section.list
$arSelect = array(
	'PROPERTY_MORE_PHOTO',
	'PREVIEW_PICTURE',
	'DETAIL_PICTURE',
	);

    foreach ($arResult["SECTIONS"] as &$arSection) {
        $rsPhotoElements = CIBlockElement::GetList(array("SORT" => "ASC", "NAME" => "ASC"), 
        array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arSection["ID"], "ACTIVE" => "Y"),
        false, 
        false, 
        $arSelect);
        $i = 4;
        while ($i && $arElement = $rsPhotoElements->GetNext()) {
            $photo = CFile::ResizeImageGet($arElement["DETAIL_PICTURE"], 
            array('width'=>200, 'height'=>180), 
            BX_RESIZE_IMAGE_PROPORTIONAL);
            $arElement["PREVIEW_PICTURE"] = $photo['src'];
            $arElement["DETAIL_PICTURE"] = CFile::GetFileArray($arElement["DETAIL_PICTURE"]);
			$arElement["PROPERTY_MORE_PHOTO"] = CFile::GetFileArray($arElement["PROPERTY_MORE_PHOTO"]);
            $arSection["ELEMENTS"][] = $arElement;
            $i--;
        }
    }


С помощью кода отображаются детальная картинка, превъюшка и тд. Суть в том, что когда я делаю
var_dump($arElement["PREVIEW_PICTURE"]);
он выводит строчку string(55) "/upload/iblock/da4/da49c59a517fc02b40ed6cf5780efd24.png" - это путь к одной из превьюшек.
var_dump($arElement["PROPERTY_MORE_PHOTO"]);
он выводит строчку bool(false).
Как сделать, чтобы выводил мне "PROPERTY_MORE_PHOTO", чтобы видел его?
Почему он выводит, что пусто?
  • Вопрос задан
  • 584 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
var_dump($arElement["PROPERTY_MORE_PHOTO_VALUE"]);
Ответ написан
@IgorRastarov Автор вопроса
В общем, сделал вот так в modifire
$arSelect = array(
	'PROPERTY_MORE_PHOTO',
	'PREVIEW_PICTURE',
	'DETAIL_PICTURE',
	);

    foreach ($arResult["SECTIONS"] as &$arSection) {
        $rsPhotoElements = CIBlockElement::GetList(array("SORT" => "ASC", "NAME" => "ASC"), 
array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arSection["ID"], "ACTIVE" => "Y"),
 false, 
false,
 $arSelect);
        $i = 4;
        while ($i && $arElement = $rsPhotoElements->GetNext()) {
            $photo = CFile::ResizeImageGet($arElement["DETAIL_PICTURE"],
 array('width'=>200, 'height'=>180), BX_RESIZE_IMAGE_PROPORTIONAL);
            $arElement["PREVIEW_PICTURE"] = $photo['src'];
            $arElement["DETAIL_PICTURE"] = CFile::GetFileArray($arElement["DETAIL_PICTURE"]);
			$arElement["PROPERTY_MORE_PHOTO"] = CFile::GetFileArray($arElement["PROPERTY_MORE_PHOTO"]);
            $arSection["ELEMENTS"][] = $arElement;
            $i--;
        }
    }


А в template
<div class = "fancybox_slider" id = "slider_gallery">
<?foreach ($arResult["SECTIONS"] as $arSection) {?>
            <?foreach ($arSection["ELEMENTS"] as $arItem) {?>
			<?=$arItem["PROPERTY_MORE_PHOTO"]?>
            <?}?>
<?}?>			
</div>


картинки не выводятся. Что делать, не знаю(
Ответ написан
Комментировать
@Danbka
В документации (dev.1c-bitrix.ru/api_help/iblock/classes/ciblockel... указано: "Обязательно должно быть использованы поля IBLOCK_ID и ID, иначе не будет работать корректно."

У вас их в $arselect нет.
Ответ написан
Ваш ответ на вопрос

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

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