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

Дополнительные свойства категорий инфоблока

00 голосов
5
Здравствуйте.
Вопрос такой появился у меня: Имеется инфоблок "Каталог" в котором созданы категории "Каталог №1", "Каталог №2" и т.д. Для вывода этих категорий использую готовый компонент "Каталог (bitrix:catalog)". Все прекрасно работает.
Но сейчас понадобилось добавить каждой категории дополнительное свойство - ссылки на 2 текстовые странички. Полез в "Пользовательские поля", добавил две строчки, забил в них данные для каждой категории, но не могу понять как их вывести..
Делаю:
Код
echo '<pre>';
print_r($arSection);
echo '</pre>';

Выводится название категории, описание, картинка, а вот моих 2-х свойств-строчек, нет. Подскажите, как быть?
спросил 19 Май, 13 от Snezhka (2,240 баллов)

5 Ответы

00 голосов
Код
 CIBlockSection::GetList(Array(), Array('IBLOCK_ID'=>$id_iblock, 'ACTIVE'=>'Y', false, Array('UF_*')); 

Array('UF_*') - это для вывода твоих свойств.
Можешь поиск сделать по UF_ тут по форуму. сообщения имеются
ответил 19 Май, 13 от Grimmi (2,560 баллов)
00 голосов
Спасибо!
ответил 20 Май, 13 от Snezhka (2,240 баллов)
00 голосов
Собственно вопрос теперь такой:
Вывожу мои поля так:
Код
$rsResult=CIBlockSection::GetList(array("SORT" => "ASC"), array("IBLOCK_ID" => "14"), false, $arSelect=array("UF_URL_C"));
while ($arResult=$rsResult->GetNext())
{   
   echo $arResult[UF_URL_C]."<br />";
} 

Но, из-за того, что все это делаю прямо в шаблоне, то записи выводятся по 2 раза (всего 2 категории пока что), т.е. вывожу как-то так:
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
foreach($arResult["SECTIONS"] as $arSection):
//Вывожу тут параметры категории, которые уже имеются...
?>
<?php
//Вывожу свои параметры:
$rsResult=CIBlockSection::GetList(array("SORT" => "ASC"), array("IBLOCK_ID" => "14"), false, $arSelect=array("UF_URL_C"));
while ($arResult=$rsResult->GetNext())
{   
   echo $arResult[UF_URL_C]."<br />";
} 
?>
<?endforeach;?>

Вывод получается такой:
Код
338
339
338
339

Т.е. я так понимаю, что мне нужно выбирать только по одной записи, а не циклом, да и как-то каждую запись выводить к конкретной категории, сейчас выводит сразу все записи полей к каждой категории...
ответил 06 Авг, 13 от Snezhka (2,240 баллов)
00 голосов
Вы своим кодом выбираете каждый раз ВСЕ разделы инфоблока. Замените
Цитата
Олег Белов пишет:
Вывожу мои поля так:
$rsResult=CIBlockSection::GetList(array("SORT" => "ASC"), array("IBLOCK_ID" => "14"), false, $arSelect=array("UF_URL_C"));

на
Код
$rsResult=CIBlockSection::GetList(array("SORT" => "ASC"), array("IBLOCK_ID" => "14",'ID' => $arSection['ID']), false, $arSelect=array("UF_URL_C")); 
ответил 07 Ноя, 13 от Pomnep (13,960 баллов)
00 голосов
Спасибо, помогло.
ответил 13 Фев, 14 от Snezhka (2,240 баллов)

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

0 голосов
7 ответов
0 голосов
0 ответов
спросил 03 Окт, 13 от ESPRIT (220 баллов)
0 голосов
4 ответов
спросил 16 Июнь, 13 от kakashka1 (340 баллов)
0 голосов
3 ответов
спросил 21 Фев, 14 от Jugolo (180 баллов)
0 голосов
3 ответов
спросил 24 Янв, 14 от Oro4imarU (160 баллов)