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

Корректный вывод свойства элемента

00 голосов
4
Задача - нужно, чтобы ссылка, которая хранится в свойстве элемента, выводилась как изображение.

Редактируется шаблон детального отображения элемента с прилинкованными элементами. Речь идет именно о свойствах прилинкованных элементов.

[img_150] - это свойство, где хранится ссылка на изображение.

Код
<?if(count($arResult["LINKED_ELEMENTS"])>0):?>
      <br /><?=$arResult["LINKED_ELEMENTS"][0]["IBLOCK_NAME"]?>:
      <ul>
      
   <?foreach($arResult["LINKED_ELEMENTS"] as $arElement):?>
   
      <li>
      
      <img border="0" src="<?=$arResult[ITEMS][$arElement][PROPERTIES][img_150][VALUE]?>"/>
      <a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a></li>
   <?endforeach;?>
      </ul>
   <?endif?>


Тем не менее ничего не выводится. Что не так?
спросил 01 Окт, 13 от withstand (180 баллов)

4 Ответы

00 голосов
Цитата
lenta1983 пишет:
<?=$arResult[ITEMS][$arElement][PROPERTIES][img_150][VALUE]?>
это не путь к картинке. а ID файла.
путь
да и даже если б был путь, все равно бы ниче не вывелось, потому что не так пишете.
ответил 12 Окт, 13 от Texnik (1,860 баллов)
00 голосов
спасибо, в PHP пока очень слабо, буду смотреть.
на самом деле это не тот кусок кода скопировался, было вот


Код
<?=$arResult[PROPERTIES][img_150][VALUE]?>
ответил 12 Янв, 14 от withstand (180 баллов)
00 голосов
lenta1983, нет
Короче. Берете то, что у вас в свойстве. это ИД файла.
и в result_modifier применяете это
ответил 30 Апр, 14 от Texnik (1,860 баллов)
00 голосов
Ok, с linked_elements получилось через results_modifier. Но нужно то же самое сделать еще в двух местах.

1)В компоненте bitrix.catalog.section нужно настроить вывод того же свойства (путь к картинке на внешнем ресурсе) только на этот раз его лучше забить в <img>

Пытался по-разному, не вышло.

Вот кусок работающего кода на другом сайте:

Код
<table cellpadding="0" cellspacing="0" border="0" width="100%">
      <?foreach($arResult["ITEMS"] as $cell=>$arElement):?>

      <?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
      <tr>
      <?endif;?>

      <td valign="top" width="<?=round(100/$arParams["LINE_ELEMENT_COUNT"])?>%">

         <table cellpadding="0" cellspacing="0" border="0">
            <tr>
 X td valign="top" align="center" width="150px">
<div style="height: 150px;" class="img">

</pre>
<pre>
<?print_r($arResult[ITEMS]);?>
</pre>
<?if($arResult[ITEMS][$cell][PROPERTIES][img_150][VALUE]):?>
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arResult[ITEMS][$cell][PROPERTIES][img_150][VALUE]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
               <?elseif($arResult[ITEMS][$cell][PROPERTIES][img_400][VALUE]):?>
                  <a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arResult[ITEMS][$cell][PROPERTIES][img_400][VALUE]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
<?endif?>
</div>



интересует конкретно эта строчка, т.к. она отвечает за вывод нужного свойства, в котром хранится путь до изображения (а именно [img_150]):

Код
<?if($arResult[ITEMS][$cell][PROPERTIES][img_150][VALUE]):?>
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arResult[ITEMS][$cell][PROPERTIES][img_150][VALUE]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />


Проблема усугубляется тем, что не могу использовать print_r для просмотра массива, т.к. антивирусному модулю битрикса начинает требоваться немерянное количество памяти.

2)Опять же нужно настроить вывод свойства (линк к картинке на внешнем ресурсе) только в bitrix.catalog.element в шаблоне которого эти элементы идут как linked_element, но на этот раз у этого шаблона нет results_modifier. Его нужно создать самому или как тут лучше поступить?
ответил 25 Авг, 14 от withstand (180 баллов)

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

0 голосов
4 ответов
спросил 28 Сен, 13 от Rogarond (820 баллов)
0 голосов
4 ответов
спросил 09 Июль, 13 от t1000 (200 баллов)
0 голосов
4 ответов
0 голосов
2 ответов
0 голосов
3 ответов
спросил 14 Фев, 14 от Hall (100 баллов)