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

Содержание:

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. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

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

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– Логистика адресного склада;
– Управление отношениями с пост...

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

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

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

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

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

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

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

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

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

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

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

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

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

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

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

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- Заполнение НСИ и классификаторов. ...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

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

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

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение документов
• Учет рабочего времени
Закупки (снабжение) и...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

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

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

- Отказ от бумажного документооборота, от громоздких систем на базе офисного пакета;
- Создан единообразный интерфейс как в офисе, так и...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

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

- Расчеты с контрагентами;
- Производственные операции;
- Управление складскими запасами;
- Логистика адресного склада;
- Оф...

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

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

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

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

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

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

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

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