Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как получить PREVIEW_PICTURE

00 голосов
8
Здравствуйте!

Проблема в следующем.
Есть инфоблок, в котором всего два свойства: цена и привязка к элементу из другого инфоблока.
Из другого инфоблока нужно вытянуть картинку из анонса.

Что я делаю.

В шаблон пишу код:
Код
$res12 = CIBlockElement::GetByID("7833");
$res23 = $res12->GetNextElement(); 
$res34 =$res23->GetProperties(); 
$res45 = $res23->GetFields();
print_r($res34);
print_r($res45);


По идее из res45 я должен получить данные о ссылке на картинку.
Что я получаю:
Код
Array
(
    [ID] => 7833
    [~ID] => 7833
    [TIMESTAMP_X] => 31.05.2011 17:42:34
    [~TIMESTAMP_X] => 31.05.2011 17:42:34
    [MODIFIED_BY] => 1
    [~MODIFIED_BY] => 1
    [DATE_CREATE] => 30.05.2011 17:23:37
    [~DATE_CREATE] => 30.05.2011 17:23:37
    [CREATED_BY] => 1
    [~CREATED_BY] => 1
    [IBLOCK_ID] => 34
    [~IBLOCK_ID] => 34
    [IBLOCK_SECTION_ID] => 3
    [~IBLOCK_SECTION_ID] => 3
    [ACTIVE] => Y
    [~ACTIVE] => Y
    [ACTIVE_FROM] => 
    [~ACTIVE_FROM] => 
    [ACTIVE_TO] => 
    [~ACTIVE_TO] => 
    [DATE_ACTIVE_FROM] => 
    [~DATE_ACTIVE_FROM] => 
    [DATE_ACTIVE_TO] => 
    [~DATE_ACTIVE_TO] => 
    [SORT] => 500
    [~SORT] => 500
    [NAME] => 1020-летие крещения Руси (О-ва Кука)
    [~NAME] => 1020-летие крещения Руси (О-ва Кука)
    [PREVIEW_PICTURE] => 521
    [~PREVIEW_PICTURE] => 521
    [PREVIEW_TEXT] => 123
    [~PREVIEW_TEXT] => 123
    [PREVIEW_TEXT_TYPE] => text
    [~PREVIEW_TEXT_TYPE] => text
    [DETAIL_PICTURE] => 
    [~DETAIL_PICTURE] => 
    [DETAIL_TEXT] => 
    [~DETAIL_TEXT] => 
    [DETAIL_TEXT_TYPE] => text
    [~DETAIL_TEXT_TYPE] => text
    [SEARCHABLE_CONTENT] => 1020-летие крещения руси (о-ва кука)
123

    [~SEARCHABLE_CONTENT] => 1020-летие крещения руси (о-ва кука)
123

    [WF_STATUS_ID] => 1
    [~WF_STATUS_ID] => 1
    [WF_PARENT_ELEMENT_ID] => 
    [~WF_PARENT_ELEMENT_ID] => 
    [WF_LAST_HISTORY_ID] => 
    [~WF_LAST_HISTORY_ID] => 
    [WF_NEW] => 
    [~WF_NEW] => 
    [LOCK_STATUS] => green
    [~LOCK_STATUS] => green
    [WF_LOCKED_BY] => 
    [~WF_LOCKED_BY] => 
    [WF_DATE_LOCK] => 
    [~WF_DATE_LOCK] => 
    [WF_COMMENTS] => 
    [~WF_COMMENTS] => 
    [IN_SECTIONS] => Y
    [~IN_SECTIONS] => Y
    [SHOW_COUNTER] => 
    [~SHOW_COUNTER] => 
    [SHOW_COUNTER_START] => 
    [~SHOW_COUNTER_START] => 
    [TAGS] => 
    [~TAGS] => 
    [XML_ID] => 7833
    [~XML_ID] => 7833
    [EXTERNAL_ID] => 7833
    [~EXTERNAL_ID] => 7833
    [TMP_ID] => 27c15e1e8e361efdaa8908630eabcd63
    [~TMP_ID] => 27c15e1e8e361efdaa8908630eabcd63
    [USER_NAME] => ***
    [~USER_NAME] => ***
    [LOCKED_USER_NAME] => 
    [~LOCKED_USER_NAME] => 
    [CREATED_USER_NAME] => ***
    [~CREATED_USER_NAME] => ***
    [LANG_DIR] => /
    [~LANG_DIR] => /
    [LID] => s1
    [~LID] => s1
    [IBLOCK_TYPE_ID] => coins
    [~IBLOCK_TYPE_ID] => coins
    [IBLOCK_CODE] => coins_catalogue
    [~IBLOCK_CODE] => coins_catalogue
    [IBLOCK_NAME] => Каталог
    [~IBLOCK_NAME] => Каталог
    [IBLOCK_EXTERNAL_ID] => 
    [~IBLOCK_EXTERNAL_ID] => 
    [DETAIL_PAGE_URL] => /coins/detail.php?ID=7833
    [~DETAIL_PAGE_URL] => /coins/detail.php?ID=7833
    [LIST_PAGE_URL] => /coins/index.php?ID=34
    [~LIST_PAGE_URL] => /coins/index.php?ID=34
    [CREATED_DATE] => 2011.05.30
    [~CREATED_DATE] => 2011.05.30
    [BP_PUBLISHED] => Y
    [~BP_PUBLISHED] => Y
)


То есть должен быть, вроде как, array, а тут какая-то цифра, с которой я, честно говоря, не знаю что делать. И нигде не нашел ничего, что может мне подсказать, что я не так сделал.

Код
[PREVIEW_PICTURE] => 521
[~PREVIEW_PICTURE] => 521


Подскажите, пожалуйста, как выцепить путь к картинке?
спросил 30 Май, 13 от coher (280 баллов)

8 Ответы

00 голосов
ответил 30 Май, 13 от Texnik (1,860 баллов)
00 голосов
Вот, ведь! Полдня промучился, а ларчик то очень просто открывался.

Спасибо! :D
ответил 03 Июнь, 13 от coher (280 баллов)
00 голосов
Чтобы получить массив картинки воспользуйтесь методом CFile::GetFileArray
ответил 03 Сен, 13 от Delp (7,220 баллов)
00 голосов
Код
<img src="<?=CFile::GetPath($res45["PREVIEW_PICTURE"])?>">
ответил 02 Дек, 13 от BeHuk (320 баллов)
00 голосов
Всем спасибо!
ответил 14 Март, 14 от coher (280 баллов)
00 голосов
Добрый день,
Выяснилось у меня похожая проблема.
Есть инфоблок, есть свойство привязка к товарам (SKU), привязка осуществляется к елементам из етого же инфоблока, но вот как бы так сделать чтобы с етими елементами еще и отображалась их картинка для анонса?

Код
<?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
               <b><?=$arProperty["NAME"]?>:<br/></b>&nbsp;<?
               if(is_array($arProperty["DISPLAY_VALUE"])):
                  echo implode("&nbsp;|&nbsp;", $arProperty["DISPLAY_VALUE"]);
               elseif($pid=="MANUAL"):
                  ?><a href="<?=$arProperty["VALUE"]?>"><?=GetMessage("CATALOG_DOWNLOAD")?></a><?
               else:
                  echo $arProperty["DISPLAY_VALUE"];?>
               <?endif?><br /><br/>
            <?endforeach?>
ответил 05 Июль, 14 от Ksefonida (120 баллов)
00 голосов
я так вытаскивала
Код
.............
<?foreach($arResult["OFFERS"] as $arOffer):?>
   <img src="<?=CFile::GetPath($arOffer["PREVIEW_PICTURE"])?>">
..........


обратите внимание, тот же самый CFIle
ответил 05 Ноя, 14 от Texnik (1,860 баллов)
00 голосов
Здравствуйте!
Попробовала использовать предложенный метод:
Цитата
Julliet пишет:
я так вытаскивала


Все получилось, спасибо!
Но вот такая ситуация: картинка выводится только если в настройках детального просмотра элемента каталога отмечено поле торгового предложения "Картинка анонса". При этом оно естественно выводится еще и на странице детального просмотра товара как свойство торгового предложения в виде текста: "Картинка для анонса: 142" наряду с другими свойствами торгового предложения (н-р "цвет", "размер" и т.д.).

Рисунок

Если свойство "картинка анонса" не отмечено, то картинка анонса указанным способом не выводится.

Как обойти эту ситуацию? Или я смотрю не в ту сторону? Подскажите пожалуйста.
ответил 04 Март, 15 от Bublik (100 баллов)