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

Инфоблоки - свойства

00 голосов
7
Добрый день. Создал инфоблок, в его свойствах добавил три значения:
Name - строка
Logo - файл
Link - строка.

Шаблон вывода новостей представляет собой слудующее:
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="news-list">
<?foreach($arResult["ITEMS"] as $arItem):?>
   <p class="news-item">
      <?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
         <?=$arProperty["Name"]["DISPLAY_VALUE"]?>:
         <?=$arProperty["NAME"]?>:&nbsp;
         <?if(is_array($arProperty["DISPLAY_VALUE"])):?>
            <?=implode("&nbsp;/&nbsp;", $arProperty["DISPLAY_VALUE"]);?>1
         <?else:?>
            <?=$arProperty["DISPLAY_VALUE"];?>2
         <?endif?>
         <br />
      <?endforeach;?>
   </p>
<?endforeach;?>
</div>


Но эти поля не выводятся, что я не правильно сделал?

Спасибо.
спросил 27 Янв, 13 от Chainfire (160 баллов)

7 Ответы

00 голосов
В настройках компонента укажите какие поля выводить (для строчных полей в селекте, для файла ниже в строке прописать код).
ответил 27 Янв, 13 от NitroGeN (2,840 баллов)
00 голосов
А именно в шаблоне можено это вывести? т.е. как обращаться к этим элементам в коде?
ответил 12 Фев, 13 от Chainfire (160 баллов)
00 голосов
У вас в коде перебираются в цикле все заданные свойства и выводятся
Цитата
Глеб пишет:
<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?><?=$arProperty["Name"]["DISPLAY_VALUE"]?>:<?=$arProperty["NAME"]?>: <?if(is_array($arProperty["DISPLAY_VALUE"])):?> <?=implode(" / ", $arProperty["DISPLAY_VALUE"]);?>1<?else:?> <?=$arProperty["DISPLAY_VALUE"];?>2<?endif?><br /> <?endforeach;?>

Если нужно вывести конкретное свойство:
для множественного <?=implode(" / ", $arItem["DISPLAY_PROPERTIES"]["код свойства"]["DISPLAY_VALUE"]);?>
для не множественного свойства:
<?=$arItem["DISPLAY_PROPERTIES"]["код свойства"]["DISPLAY_VALUE"]?>
ответил 22 Март, 13 от NitroGeN (2,840 баллов)
00 голосов
Делаю так:

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
<?=$arResult["NAV_STRING"]?><br />
<?endif;?>
<table cellpadding="0" cellspacing="0" border="1">
[td]<?echo 'Наименование:'?>[/td]
[td]<?echo 'Описание:'?>[/td]
[td]<?echo 'Цена:'?>[/td]
[td]<?echo 'Корзина:'?>[/td]
<tr>



<?foreach($arResult["ITEMS"] as $cell=>$arElement):?>
<? print $arElement["DISPLAY_PROPERTIES"] ?>;


при этом пользовательские поля не поазываються(
ответил 21 Июль, 13 от asagava (680 баллов)
00 голосов
Для начала сделайте print_r($arresult) в шаблон и посмотрите структуру массива.
ответил 25 Окт, 13 от alex23 (140 баллов)
00 голосов
та же проблема, хуже всего то, что $arElement["DISPLAY_PROPERTIES"] - пустой
ответил 28 Янв, 14 от Hostelf (100 баллов)
00 голосов
а <?print_r($arElement)?> что показывает вообще?
ответил 17 Май, 14 от ashkmn (700 баллов)

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

0 голосов
1 ответ
спросил 08 Авг, 14 от silrage (210 баллов)
0 голосов
3 ответов
спросил 26 Фев, 14 от Wildest (500 баллов)
0 голосов
1 ответ
спросил 05 Фев, 14 от SWATcs (100 баллов)
0 голосов
3 ответов
спросил 12 Ноя, 13 от Anton6 (160 баллов)
0 голосов
1 ответ
спросил 05 Авг, 13 от TeoRex (280 баллов)