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

Содержание:

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, который находится в шаблоне у компонента.


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

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

 

Наши проекты

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

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

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

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

- Регламентированный учет;
- Кадровый учет;...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

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

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

Внедрение ПП "1С:Корпоративный инструментальный пакет 8" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

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

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

Различная отраслевая специфика:
- Переработка давальческого сырья
- Уче...

ООО "ОМЗ"
ООО "ОМЗ"

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

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

Автоматизация бизнес-процессов...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

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

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

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

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

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

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

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Бухгалтерский учет
- Расчет зарплаты и кадровый учет
- Налоговый учет ...

ООО ХДМ Рус
ООО ХДМ Рус

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

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

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

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

Построение единого информационного пространства финансовой службы;
Учет ...

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

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

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

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