it@jump-studio.net

Статьи


Как вывести свойство "привязка к элементу"

Размещено: 24.10.2015 20:00

Здравствуйте, уважаемые читатели нашего блога!

Платформа 1С-Битрикс предназначена для разработки проектов любой сложности, от персональных визиток до крупных порталов недвижимости, автомобильных досок объявлений, городских сайтов и т.д. В случае разработки сложных проектов разработчики используют большое количество инфоблоков для структурирования добавляемой информации, а что бы они были связаны между собой - используют свойства типа "привязка к элементу", "привязка в разделу" и т.д. В дальнейшем эти свойства нужно использовать в своих целях, но к сожалению стандартные компоненты битрикса, к которым мы так долго привыкали, не всегда помогают решать проблему. Тогда нам на помощь приходит API битрикса.

Честно говоря, для своих клиентов мы почти полностью отказались от стандартных компонентов битрикса, вроде компонента каталог, элемент каталога детально и т.д. в пользу API Битрикс. Чаще всего использование апи помогает избежать многих проблем, одна из которых - вывод названия свойства "привязка к элементу" без лишних ссылок, ID и т.д. Для этого нам поможет функция: CIBlockElement::GetList

Небольшая справка: Функция CIBlockElement::GetList помогает вывести необходимые свойства и значения из любого инфоблока по заданному фильтру, либо без него.

Предлагаю разобрать небольшой пример, как получить те или иные свойства нужного инфоблока при помощи GetList! 

1. Переменная $arSelect

В переменной $arSelect нам нужно объявить все значения, которые мы хотим в дальнейшем получить от инфоблока, полный их список можно посмотреть на сайте битрикса (ищите параметр arOrder в левой колонке таблицы). К примеру нам нужно получить парметры: "ID", "NAME", "CREATED_DATE". Вы скажете все это понятно, ну а если нужно получить свойство при помощи GetList? Тогда указываем ID свойства (его можно посмотреть в редактировании инфоблока, вкладка "свойства") и приписываем к нему "PROPERTY_". Пусть нас будет интересовать инфоблок ID = 5 (ID инфоблока можно узнать в списке всех инфоблоков) и свойства ID 2 и 5. Теперь к коду: 

$arSelect = Array("ID", "NAME", "CREATED_DATE", "PROPERTY_2", "PROPERTY_5");


Думаю, проблем разобрать, что мы получили в строке выше не составит труда?

2. Переменная $arFilter

Пришло время фильтра, так как GetList надо объяснить что и при каких условиях нужно выводить. Для этого мы укажем "IBLOCK_ID" (id инфоблока), "ACTIVE" (элементы инфоблока активны). В своих проектах вы можете воспользоваться более глобальным фильтром, точнее указать больше условий, а для примера хватит и этих. Пишем код:

$arFilter = Array("IBLOCK_ID"=>5, "ACTIVE"=>"Y");


Благодаря этому элементу мы выведем все активные элементы инфоблока 5.

3. Выборка свойства при помощи GetList

Что дальше? Дальше мы включим GetList, который производет выборку.

$res = CIBlockElement::GetList(Array(), $arFilter, $arSelect);
while($ob = $res->GetNextElement())
{
$arOb = $ob->GetFields();
print_r ($arFields);
}


Если вы вставить получившийся код на страницу, то получите "портянку" из всех элементов и их свойств. Что бы получить конкретное значение свойства привязанного элемента (в разных случаях это может потребоваться) - в условии print_r ($arFields); нужно указать к примеру print_r ($arFields["NAME"]); или в случае с свойством инфоблоком print_r ($arFields["PROPERTY_2_VALUE"]); (где 2, это ID свойства)

В итоге готовый код выглядит следующим образом:

$arSelect = Array("ID", "NAME", "CREATED_DATE", "PROPERTY_2", "PROPERTY_5");
$arFilter = Array("IBLOCK_ID"=>5, "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array(), $arFilter, $arSelect);
while($ob = $res->GetNextElement())
{
$arOb = $ob->GetFields();
print_r ($arFields);
}


Очень надеюсь, что благодаря нашей шпаргалке разработчикам 1С Битрикс станет чуточку проще разрабатывать свои проекты, в том числе выводить свойство привязка к элементу!

Если вы или ваши специалисты столкнулись с проблемами вывода необходимой информации из инфоблоков - вы всегда можете обратиться к нам. Наша команда имеет большой опыт работы с 1С-Битрикс и сможет решить большинство задач. Так же вы можете заказать поддержку, оптимизацию и SEO продвижение вашего сайта не зависимо от территориального расположения и CMS!

Удачи Вам!


comments powered by Disqus

Поделитесь с друзьями данной статьей:


                 
Тема: Как вывести свойство "привязка к элементу"
Тэги: CIBlockElement::GetList, CIBlockElement, GetList, привязка к элементу, свойство привязка к элементу, привязка к разделу, вывести свойство, гетлист, битрикс, 1с
   
Возможно вам будут интересны:

12.12.2013 Jump-Studio.net присвоен адрес в Яндексе. Ура!!!

Рады сообщить о том, что нашей компании присвоен адрес в Яндексе. Теперь нашим клиентам будет намного проще найти нас

08.02.2017 Загрузка файлов на FTP из публичной части на API 1С-Битрикс

02.12.2013 Интересная подборка рекламных конфузов (фото)

Предлагаем вашему вниманию подборку интересных рекламных решений и конфузов.

01.06.2014 Абонентское обслуживание сайтов

В процессе своей работы сайт должен жить и процветать, тем самым принося своему хозяину новых клиентов. Для этого необходимо проводить разноплановые работы над ним.

23.03.2014 Готовое решение: Портал по продаже недвижимости

Рады предложить Вашему вниманию готовое решение для портала/сайта по продаже недвижимости. Преимущества готового решения в следующем..

Возврат к списку

Голосов: 31, Оценка: 5 / 5