31.03.2021 Айдар Фархутдинов 10200
Привязка к элементам в Битрикс

Содержание:

1.       Способ привязки к элементам по автозаполнению

2.       Получение значения привязки к элементу в компоненте  

 

1.    Способ привязки к элементам по автозаполнению


Сперва рассмотрим привязку к элементам при помощи автозаполнения. Это самый удобный способ в том случае, когда идёт речь о работе с большими по объёму порталами, а в особенности, когда необходима также реализация административной панели. Как раз в этот момент разработчик сталкивается с проблемой привязок многих элементов на портале (бывают ситуации, когда только у одного элемента может быть более 10 привязок) и в таких больших масштабах удобнее всего их делать по свойству под названием «привязка элементов с автозаполнением».


Во-первых, для того чтобы реализовать административную панель, необходимо использовать стандартный компонент iblock.element.add. На этом месте возникает первая сложность: в части пользователя системы управления Битрикс для элементов может не быть текстовых вводов (инпутов), либо они могут работать некорректно для администратора панели.


Стоит отметить, что в обновлении iblock 16.5.4 такой проблемы нет, но разобраться с этим нужно самим, создавая настройки привязки. Рассмотрим эту настройку поэтапно.


Итак, первый шаг – открыть консоль и посмотреть, куда отправляется адрес. В моём случае было так:


Адрес при создании настройки привязки

Рис. 1 Адрес при создании настройки привязки


Далее допишем в коде два «инпута» (тег input – главное назначение – это создание полей с текстом, кнопок и так далее) и пустой тег «див» (тег div – это элемент блока, который предназначается для того, чтобы выделять фрагменты в документе, для перемены внешнего вида содержимого). Пример на скриншоте ниже:


Создание настройки привязки – добавление тегов input и div

Рис. 2 Создание настройки привязки – добавление тегов input и div

 

В первом «инпуте» будет содержаться получаемое необходимое нам значение. Во втором – содержится ID (англ. identifier – идентификатор) – это собственное уникальное свойство у объекта, которое отличает его от иных объектов. Из ID информационного блока будем получать необходимое значение. А в «диве» будут создаваться нужные значения, которые будут использоваться в выборке.


Далее скопируем своё пространство с именами компонент, после чего в файле под названием ajax.php поменяем в скрипте в конце строчку, представленную ниже:


Строчка для копирования в свое пространство с именами компонент

Рис. 3 Строчка для копирования в свое пространство с именами компонент

 

Строку следует заменить данным выражением:


копирования в свое пространство с именами компонент

Рис. 4 Выражение для копирования в свое пространство с именами компонент


Последней ступенью станет самое трудоёмкое – раскладка в формате данных JSON (представляет собой формат по обмену данными в виде текста, основан на JavaScript) в JS (JavaScript – язык программирования, который имеет поддержку императивного, функционального и объектно-ориентированного стилей). Необходимо передать параметры GET данному скрипту, как показано на скриншоте ниже:


Передать параметры GET

Рис. 5 Передать параметры GET


После этих действий получаем нужную нам автоматическую привязку к элементам. 


2.    Получение значения привязки к элементу в компоненте


Рассмотрим ситуацию, когда после привязки одного элемента в системе 1С Битрикс из информационного блока к элементу из другого инфоблока нужно получить ID элемента, с которым выполняется связь. Рассмотрим аналогично – по этапам.


Первым делом выбираем инфоблок: в общем поле создаётся еще одно поле, далее выбирается тип «Привязка к элементу», в самом конце находим кнопку […] и создаем информационный блок.


Поле типа «input» появляется у элемента, также появляется и кнопка, с помощью которой в разделе вышеуказанного информационного блока можно избрать нужный элемент. В результате этого связь будет происходить с помощью ID элемента Битрикс.


В поле шаблона вывода настраиваем шаблон, после этого переходим в код. В коде ищем строку с выводом элемента и меняем его в такой вид, как на скриншоте ниже:


Настройка шаблона вывода

Рис. 6 Настройка шаблона вывода


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


Примечание: в случае, когда в качестве имени необходимо вывести иное свойство привязанного элемента, необходимо избрать данный привязанный элемент через CIBlockElement::GetByID() и вывести его свойство. Избирать элемент удобнее всего в result_modifier.php, который находится в шаблоне у компонента.


Специалист компании «Кодерлайн»

Айдар Фархутдинов

 

Наши проекты

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

Отрасль:
Производство

Внедренное типовое решение:
1С:Комплексная автоматизация

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

Отрасль:
Торговля

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

- Оформление заказов покупателей;
- Управление складскими запасами;
- Ана...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

ПАО «АрселорМиттал Кривой Рог»
ПАО «АрселорМиттал Кривой Рог»

Отрасль:
Металлургическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием для Украины

- Кадровый учет
- Расчет зарплаты
- Регламентированная отчетность
- Уч...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

Внедрение ПП «1С:Предприятие 8. Аренда и управление недвижимостью на базе "1С:Бухгалтерия 8"» в компании «Бутово Молл»
ООО «Бутово Молл»

Отрасль:
Недвижимость

Внедренное типовое решение:
1С:Аренда и управление недвижимостью на базе «1С:Бухгалтерия 8»

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Оформление зак...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение