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с
   
Возможно вам будут интересны:

09.11.2015 Открытие нового проекта Chel-Beauty.ru

17.05.2016 Увеличиваем количество клиентов с сайта. Обзор сервиса удержания клиентов с сайта
Сегодня я хочу с вами поделиться очень-очень-очень крутым сервисом, который поможет увеличить продажи с вашего сайта! Это проверено на очень крупном проекте с посещаемостью около 1500-1700 человек и количеством заявок с него, стремящимся к нулю!

02.11.2015 BootStrap и 1С-Битрикс
Компания Jump-Studio приняла решение об использовании на новых сайтах клиентов фрэймворка BootStrap. Хотите спросить почему? Мы ответим!

06.10.2015 Анонс нового проекта. Улицы Челябинска CSV
На данный момент мы почти заканчиваем свой проект каталог салонов красоты. Благодаря нашему проекту тысячи девушек без труда смогут найти лучшие салоны города, руководствуясь народным рейтингом и отзывами.

09.12.2013 Повышение цен на лицензии битрикса

Вынуждены сообщить Вам о грядущем увеличении стоимости лицензий битрикс. Ниже мы приводим цены, которые сообщает 1С своим партнерам..

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

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