Как связать два инфоблока

Обновлено: 25.04.2024

Подскажите пожалуйста имеется тип инфоблока Услуги, в нем два инфоблока - один это карточки услуг(цена и тд), второй это вопросы касаемо данных услуг. каждый инфоблок содержит разделы они соответствуют друг другу, т.е услуга 1(первый инфоблок) - вопросы по 1 услуге(второй инфоблок) . Мне необходимо подгружать на страницу при клике на соответствующий таб с названием услуги - карточку услуги из первого инфоблока и ниже вопросы из второго инфоблока. карточку я подгружаю по id раздела из первого инфоблока, как связать разделы второго инфоблока что бы можно было как нибудь выводить их синхронно с карточками услуг?

  • Вопрос задан 29 июл. 2021
  • 281 просмотр

я вижу 2 путя. оба через доп запрос в result_modifier -
1 - доп запрос делается во второй инфоблок с поиском по имени текущей услуги. если каждый вопрос это отдельный элемент, а услуга - раздел - выбираешь раздел и по нему выбираешь элементы. не нужно доп полей создавать и заполнять их постоянно, но метод плох тем что нужно заполнять одинаково названия. лишняя точка и уже не работает.
2 - (мне он больше нравится) - у элементов и разделов можно сделать свойства привязки к элементам или разделам инфоблока. создаешь услугу в одном инфоблоке, в другом, и потом связываешь. у тебя в свойствах элементов будет id элемента/раздела, смотря что тебе нужно. и так же по нему выбираешь раздел/элементы из другого инфоблока. нужно следить за тем, что точно проставлены привязки. и если вдруг удалили вопросы - привязывать заново. но этот способ правильнее.

в общих чертах как то так

спасибо большое, думал привязать через доп. пользовательское поле (раздел к разделу ) и дальше копать в этом направлении

норм. решение. в этом случае у тебя в свойстве раздела будет готовый ID по которому ты получишь все элементы этого раздела. если бы услуга была не разделом, а элементом - принцип был бы тот же самый

Имеется два инфоблока - организации и специалисты.
У каждого из инфоблоков есть дополнительное свойство, типа "привязка к элементам" - у специалистов это привязка к элементам инфоблока "организации" и, соответсвтенно, наоборот.

Вопрос: можно ли в административном интерфейсе как то связать эти свойства инфоблоков ? Т.е. чтобы при добавлнии нового элемента инфоблока "специалист" и привязки к нему свойства от инфоблока "организации" - у соответсвующего элемента инфоблока "организации" автоматически добавился соответсвующий специалист (Если проще - при создании специалиста и вобора ему привязки к организации у соответсвующей организации автоматически прописывался этот специалист тоже) и, соответсвенно, наоборот.

Я могу такое реализовать программно на сайте - но это получится, что я, по сути, буду лепить вторую админку: придётся делать отдельный личный кабинет для администратора, что на мой взгляд лишний труд и время. Да и зачем, когда и так есть админка.

Весь смысл данной процедуры в том, что на страницах выводятся элементы этих инфоблоков и у организаций должна работать фильтрация по специалистам, как и у специалистов фильтрация по организациям. Не хотелось писать кастомный элемент фильтрации, который осуществлял бы фильтрацию по привязки элементов из другого инфоблока + удобно без лишнего кода выводить подробную информацию при детальном просмотре элемента инфоблока (у этой организации - такие-то специалисты, а этот специалист принадлежит к таким-то организациям). Опять же удобно, просматривая элемент в админке сразу видеть - что у этого специалиста такие-то организации, а у этой организации - такие-то специалисты и сразу подредактировать что нужно.

А сейчас у меня всё работает очень некрасиво - при создании организации нужно привязать к ней специалиста, а потом по сути сделать зеркальную операцию - зайти к специалисту и привязать к нему туже самую организацию. Дело усугубляется тем, что сейчас в связи участвуют только 2 инфоблока, но их число будет расти в будущем. Вот я и думаю - можно ли связать перекрёстные свойства инфоблоков с помощью стандартных инструментов битрикса в админке ?

Здравствуйте! Я создала 2 инфоблока: Категории и Картины.

В Категориях разделы - живопись, акварель, масло, акварель.
в картинах Картины, которые могут относиться к нескольким категориям. НАпример Картина1 и натюрморт и акварель.
Создала свойство tags(привязка к элементам), где я выбираю айдишники категорий, к которым относится картина.

Я создала страницу, где новостным компонентом вывожу Категории с картинкой анонса. И вот вопрос. Как сделать так, чтобы при переходе на 'новость' Категории(например живопись) выводились все картинки с тэгом соответсвующим категории? Или может есть какой другой подход?

Как работать с инфоблоками?
Здравствуйте. Только сейчас начал пользоваться инфоблоками. Создал свой. У него Для элементов.

Как сделать связь между ComboBox и ImageBox?
Здравствуйте! Задачка довольно простая. Есть список в ComboBox1: 1 2 3 4 5 И в папке с.

Как сделать связь между данными в разных документах?
Как сделать связь между данными в разных документах? Есть несколько файлов(1.xls . x.xls) и.

Как сделать связь между двумя строками в таблице mysql
Как сделать связь между двумя строками в таблице mysql Существуют две строки в mysql id и chpu в.

Почему бы Вам при переходе на 'новость' не делать выборку из инфоблока 'Картинки' указав в качестве фильтра ваше свойство со значением id категории.
Т.е. грубо говоря сделать CIBlockElement::GetList указав в качестве фильтра

т.е. будет выборка элементов из инфоблока 'картинки', у которых в свойстве привязки указана текущая категория.
Как то я сложно объясняю, по ходу)

Связные инфоблоки.jpg


Настраивать связные инфоблоки можно после включения параметра "Использовать связанные инфоблоки" в параметрах компонента "bxready2:block"(Информационный раздел).

Включение связных инфоблоков.jpg

Далее необходимо выбрать количество связных инфоблоков. К каждому инфоблоку будет доступен ряд настроек:

Настройки связного инфоблока.jpg

В настройках данных вы можете указать их область вывода: bottom - снизу, sidebar - в сайдбаре. Обязательно укажите тип инфоблока и сам инфоблок, с которым необходимо осуществить связь.

Далее необходимо осуществить связь между элементами. Для этого в параметрах редактирования необходимого элемента, нужно указать связные элементы:

Инастройка связных элементов.jpg


Стоит отметить, что при этом создается двунаправленная связь между элементами. В нашем примере, при переходе на детальную страницу пластикового окна "Beta", отобразится связный элемент - загородный дом "Winter", но при том условии, что в параметрах компонента "bxready2:catalog.lite"(Витрина для корпоративного сайта), который выводит на страницу пластиковое окно "Beta", будет настроен связный инфоблок с проектами, где и находится проект с загородным домом "Winter".

Что такое информационные блоки на битрикс

Как работают информационные блоки?

Создание информационного блока

Сначала нужно создать новый тип инфоблока в битрикс, заполнить его свойства указав элементы, типы и прочие настройки вывода через компонент.

Создаем новый тип Инфоблока — «Инфоблоки -> Типы инфоблоков«

Добавление нового типа инфоблока на битрикс

Добавление нового типа ИБ в Bitrix Framework

Важно: ID инфоблока нужно вводит английскими буквами или использовать цифры с подчеркиванием

Настройки типа — идентификатор и названия рус и англ

Добавление информационного блока битрикс

Переходим в созданный тип блока и нажимаем «Добавить инфоблок«

То есть добавляем информационный блок созданного типа.

Настройка инфоблока: редактирование свойств элементов и типов

Теперь основное — настройка инфоблока, создание типов элементов — которые должны будут отображаться на сайте компонентом и прочие настройки — индексирование, генерация определённых URL, доступы, анонсы, картинки и другое.

После добавления появится много вкладок:
«Инфоблок» «SEO» «Поля» «Свойства» «Поля разделов» «Торговый каталог» «Доступ» «Подписи» «Журнал событий»
В основном нужны несколько вкладок — в которых мы указываем компоненту данные, которые хотим получить от него.

Первая вкладка «Инфоблок» (Информационный блок)

Детально останавливаться над каждой опцией не будем, рассмотрим самое необходимое при создании инфоблока.

  • «Информационный блок активен» — по дефолту отмечено
  • «Символьный код» — устанавливаем название на английском
  • «Сайты» — выбираем наш сайт
  • «Название» — непосредственно название инфоблока
  • «URL страниц информационного блока», «URL страницы раздела», «URL страницы детального просмотра» — устанавливаем на свое усмотрение

Основные данные информационного блока при создании которые нужно указать

Вкладка «Свойства» информационного блока

Здесь необходимо указать необходимые нам данные (элементы инфоблока), которые должен выдать нам компонент. Это основная вкладка регулирующая вывод «начинки». От того что мы укажем в свойстве элементов инфоблока будет зависеть конечный вывод информации на сайте битрикс.

Мы ходим чтобы контент-менеджер мог добавлять картинку. Для этого в выпадающем списке выбираем тип элемента «Файл» и нажимаем на кнопку куда показывает вторая стрелка:

Настройка свойств элементов инфоблока — указание типа и настройка

Примечание: В старых версиях битрикс нужно вводить в ручную символьный код, в более новых он создается автоматически если не задан.

Свойство «множественное» — отмечаем галочкой если должна быть возможность выбора нескольких файлов.

Тоже самое относится к текстовому полю и прочим указанным стандартным элементам.

Свои вопросы задавайте в комментариях.

При создании указать данные, которые будут выводится компонентом
после создания инфоблока идет привязка к компоненту
компонент в свою очередь — обычный массив с данными, которые передаются модулю

Привязка информационного блока — эх картинку бы

Ваше мнение Отменить ответ

Размещенные авторами интересные статьи имеют абсолютно разноплановый характер, раскрывая суть вопроса коротким но полным ответом. Вы можете прислать текст для публикации через обратную связь: PR-сопровождение государственных и региональных событий, брендовые тексты и просто заметки.

Политика конфиденциальности

Собираемая информация

Найдена полная информация!

К сожалению, это секретная информация

Оплатите доступ к информации за 500 руб. переводом карту: 4584 4328 1711 5638

Читайте также: