Меню
RSS
Вывод изображения связанного элемента в детальном описании, Как вывести информацию о связанных элементах инфоблоков в 1С-Битрикс
 
Добрый день!
На детальной странице новости вывожу список привязанных к ней элементов:
Код
<? foreach ($arResult["PROPERTIES"]["PREDSEDATEL"]["VALUE"] as $analog): ?>
    <? $res = CIBlockElement::GetByID($analog); ?>
    <? if ($ar_res = $res->GetNext()) ?>
        <li><b><a href='<?= $ar_res["DETAIL_PAGE_URL"]; ?>'><?= $ar_res["NAME"]; ?></a>
    </b></li>
<? endforeach; ?>
Вопрос: как вывести изображение этих элементов?
Через <?=$ar_res["PREVIEW_PICTURE"]["SRC"]?> не получается
Изменено: Михаил Базаров - 07.10.2023 19:05:51
 
Ответил в видео-формате:
https://boosty.to/camouf/posts/789f9c02-6388-4f49-aeb9-02140b28335c?share=post_link

Использованный код
Код
 // result_modifier.php
$res = CIBlockElement::GetList(
    array(
        'DATE_CREATE' => 'ASC'
    ),
    array(
        'ID' => $arResult['PROPERTIES']['ATT_LINKED']['VALUE']
    ),
     false,
     false,
     array(
         'NAME','PREVIEW_PICTURE','DETAIL_PAGE_URL','PREVIEW_TEXT'
     )
);
while($ob = $res->GetNext()){
    $ob['PREVIEW_PICTURE_SRC'] = CFile::GetPath($ob['PREVIEW_PICTURE']);
    $arResult['LINKED_NEWS'][] = $ob;
}

// template.php
 <?foreach ($arResult['LINKED_NEWS'] as $NEWS) {?>
        <div class="col-lg-3">
            <a href="<?=$NEWS['DETAIL_PAGE_URL'];?>">
                <img src="<?=$NEWS['PREVIEW_PICTURE_SRC']?>" alt="<?=$NEWS['NAME']?>">
                <h4>
                    <?=$NEWS['NAME']?>
                </h4>
                <p>
                    <?=$NEWS['PREVIEW_TEXT']?>
                </p>
            </a>
        </div>
        <?}?>
Изменено: Михаил Базаров - 07.10.2023 19:15:10
 
Улучшенный код, добавлена проверка что в $arResult['PROPERTIES']['ATT_LINKED']['VALUE'] что-то есть:
Код
// result_modifier.php
if (!empty($arResult['PROPERTIES']['ATT_LINKED']['VALUE'])) {
 $res = CIBlockElement::GetList(
    array(
        'DATE_CREATE' => 'ASC'
    ),
    array(
        'ID' => $arResult['PROPERTIES']['ATT_LINKED']['VALUE']
    ),
     false,
     false,
     array(
         'NAME','PREVIEW_PICTURE','DETAIL_PAGE_URL','PREVIEW_TEXT'
     )
 );
 while($ob = $res->GetNext()){
    $ob['PREVIEW_PICTURE_SRC'] = CFile::GetPath($ob['PREVIEW_PICTURE']);
    $arResult['LINKED_NEWS'][] = $ob;
 }
}
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Блог-note: заметки разработчика

Оплата заказа с внутреннего счета только за товары, без учета стоимости доставки

Задача: В магазине реализован внутренний счет (бонусный счет) для покупателей. Необходимо, чтобы при оплате зака...

Многосайтовость битрикс на разных доменах и поддоменах

Часто спрашивают "как настроить многосайтовость Битрикс на разных доменах", решил записать небольшое видео в котором уст...

Автоматически отгрузить и оплатить заказ, при смене статуса на "Выполнен".

Проблема: Заказы, на сайте, обрабатываются только в 1С. При этом 1С не работает с отгрузками и обменивается только стату...

Input Type File, множественный с дропзоной и показом превью

Задача: Сделать возможность загрузки файлов в множественный input type="file" c помощью drag&drop и показом превью загру...

Вывести информацию, только на первом уровне раздела каталога, в 1С-Битрикс

Задача: на сайте, в каталоге, выводится два фильтра - боковой и верхний. Оба компонента подключены в файле section.php к...

Вывести множественное свойство типа файл с названием и весом файла в Битрикс

В этой заметке расскажу как красиво вывести множественное свойство типа файл в инфоблоке 1С-Битрикс. С показом оригиналь...

Выбор основного раздела для элемента инфоблока в 1С-Битрикс

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

Добавить свойство в административную форму заказа

Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку формы, в виде картинки. На сайте...

Подключение SSL на Битрикс виртуальная машина

С первого января 2017 года, наличие безопасного соединения HTTPS становится практически обязательным. Ваши сайты будут з...