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

11.12.2013 Иконки для рускоязычного сервиса DynDNS

Рады представить Вам работу нашего дизайнера над иконками русскоязычного сервиса DynDNS...

21.11.2013 Редакция 1С-Бирикс Управление сайтом - первый сайт

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

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

26.11.2013 Стоит ли заказывать сайт у компании, которая предлагает Вам разработку проекта на собственной CMS или HTML?

Работая с одной из туристических компании мы узнали о том, что их первый и основной сайт был разработан на CMS веб-студии "Zooma" (название изменено). Так как сайт был разработан в начале 2000ых годов и морально устарел была поставлена задача в его обновлении...

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

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

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

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