Свойство типа «Привязка к элементам» хранит идентификаторы элементов другого (или того же) инфоблока и позволяет строить связи между сущностями: товар и его аксессуары, статья и её автор, услуга и связанные кейсы.
Что такое «Привязка к элементам» и когда её применять
Свойство типа «Привязка к элементам» (тип E в API) хранит числовые ID элементов инфоблока. По сути это ссылка одного элемента на один или несколько других элементов.
Типичные сценарии:
- Сопутствующие товары и аксессуары — карточка товара ссылается на другие товары каталога.
- Автор публикации — элемент новости ссылается на элемент инфоблока «Авторы».
- Связанные материалы — статья ссылается на другие статьи блога.
- Комплектующие — оборудование ссылается на список запчастей.
В отличие от свойства «Список» или «Справочник», здесь связываются именно полноценные элементы инфоблока со всеми их свойствами, картинками и детальными страницами.
Создание свойства в карточке инфоблока
Чтобы добавить свойство-привязку:
- Откройте Контент → Инфоблоки → Типы инфоблоков и выберите нужный инфоблок.
- Перейдите на вкладку «Свойства».
- В пустой строке заполните «Название» (например, «Сопутствующие товары») и укажите символьный код латиницей, например
RELATED_ITEMS. - В колонке «Тип» выберите «Привязка к элементам».
- Нажмите «Применить» — под свойством появится блок дополнительных настроек.
После применения станут доступны параметры целевого инфоблока и способа ввода значений.
Ключевые параметры свойства
Для свойства «Привязка к элементам» настраиваются следующие параметры:
| Параметр | Назначение |
|---|---|
| Инфоблок | Целевой инфоблок, из элементов которого выбираются значения. Можно указать тот же инфоблок для связи «сам на себя». |
| Множественное | Разрешает привязку сразу нескольких элементов (для «сопутствующих товаров» — обязательно «Да»). |
| Обязательное | Запрещает сохранение элемента без заполненной привязки. |
| Способ отображения в форме | Диалог выбора, выпадающий список, автозаполнение или радио/чекбоксы. |
| Активные / только своего типа | Ограничивают выбор активными элементами и элементами конкретного инфоблока. |
Значение по умолчанию можно не задавать — оно требуется редко.
Режимы ввода значения
В настройках свойства выбирается способ, которым контент-менеджер будет указывать связанные элементы:
- Диалог — открывается всплывающее окно с деревом разделов и поиском; удобно для больших каталогов.
- Выпадающий список — все элементы целевого инфоблока в одном списке; годится только для небольших справочников.
- Автозаполнение (autocomplete) — поле с подсказками по мере ввода названия; оптимально для каталогов на тысячи позиций.
- Радиокнопки / флажки — плоский список с выбором; применяется для коротких перечней.
Для интернет-магазина с большим каталогом рекомендуется автозаполнение или диалог — выпадающий список на тысячах элементов ощутимо тормозит форму редактирования.
Вывод связанных элементов на сайте
В базе свойство хранит ID связанных элементов. Чтобы вывести их на странице, нужно получить сами элементы по этим идентификаторам.
Общий порядок:
- Получить значение свойства текущего элемента — массив
ID(для множественного свойства). - Сделать выборку элементов целевого инфоблока с фильтром по этим
IDчерезCIBlockElement::GetList. - Вывести название, картинку, цену и ссылку каждого связанного элемента.
В большинстве шаблонов удобнее использовать штатный компонент bitrix:catalog.section или news.list с фильтром ID, передав в него массив идентификаторов из свойства. Так сохраняется кэширование и постраничная навигация.
Частые ошибки
Что чаще всего идёт не так при работе со свойством-привязкой:
- Не указан целевой инфоблок. Если поле «Инфоблок» пустое, в форме выбора будут доступны элементы всех инфоблоков или список окажется пустым. Всегда задавайте конкретный инфоблок.
- Забыли включить множественность. Для «сопутствующих товаров» без флага «Множественное» сохранится только один элемент, остальные потеряются.
- Выпадающий список на большом каталоге. Форма редактирования зависает при загрузке тысяч опций — переключитесь на автозаполнение или диалог.
- Битые ссылки после удаления. При удалении целевого элемента
IDв привязке остаётся, но элемент уже не существует. На выводе фильтруйте по активности и наличию элемента. - Циклические ссылки. Привязка инфоблока «сам на себя» без проверки может привести к бесконечной рекурсии при выводе связанных элементов.
- Смешение с «Привязкой к товарам (SKU)». Для торговых предложений используется отдельное умное свойство, а не обычная «Привязка к элементам».
Итог
Свойство «Привязка к элементам» — основной инструмент для связей между сущностями внутри инфоблоков 1С-Битрикс. Ключевые шаги: выбрать тип свойства, указать целевой инфоблок, при необходимости включить множественность и подобрать удобный режим ввода под размер каталога.
Для больших каталогов используйте автозаполнение, фильтруйте вывод по активности элементов и выводите связанные позиции штатными компонентами, чтобы сохранить кэширование.