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

Содержание:

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С:Зарплата и управление персоналом

- Перевод зарплатных баз с версии ЗУП 2.5 на версию ЗУП 3.1.
- Сопровождение в п...

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

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

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

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

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

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

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

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

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

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

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

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

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

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

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

Автоматизация подсистемы учета взаиморасчетов с агентами и интернет-магазинами на базе «1С:Управление холдингом 8»
ОАО «Фрейт Линк»

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

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

– Оформление заказов поставщикам;
– Управление отношениями с поставщика...

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

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

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

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

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

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

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

ООО «ЛукБелОйл»
ООО «ЛукБелОйл»

Отрасль:
Нефтегазовая отрасль

Внедренное типовое решение:

- Обследовании бизнес-процессов «Документооборот», «Казначейство и Бюджети...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

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

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

- Оптимизация производительности системы, в том числе сервера Postgre. ...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

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

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка фу...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

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

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

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

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