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

Содержание:

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с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

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

- Финансово-бухгалтерский блок
- Казначейство ...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

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

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

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

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

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

ПЭК
ПЭК

Отрасль:
Грузоперевозки

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

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общег...

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

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

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

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

СТС-Медиа
СТС-Медиа

Отрасль:
Медиаиндустрия

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

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- Ð...

Автоматизация кадрового учета на базе ПП "1С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

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

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

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

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

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

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

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

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

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

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

- Оперативный учет...

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автомаÑ...

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

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

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

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

Внедрение ПП "1С:CRM ПРОФ" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

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

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

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

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

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

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

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