С помощью каких типов свойств настраивается связь между информационными блоками

С помощью каких типов свойств настраивается связь между информационными блоками thumbnail

Порядок работы

При создании раздела сайта с использованием информационных блоков желательно придерживаться определённого порядка действий. Этот порядок может отличаться в зависимости от степени готовности проекта и сложности конкретного ТЗ. Практически в любом случае вам потребуются следующие действия:

  • Внимательное продумывание структуры инфоблоков.
  • Создание нужного типа инфоблоков с настройкой параметров.
  • Создание самих инфоблоков с настройкой параметров.
  • Создание структуры внутри инфоблока.
  • Создание элементов инфоблока
  • Создание физической страницы (в случае использования комплексного компонента) или страниц (при использовании простых компонентов) и размещение на ней компонента (компонентов) с последующей настройкой его свойств.
  • Кастомизация работы компонента под потребности ТЗ и дизайна сайта (кастомизация шаблона компонента, использование файлов result_modifier.php или component_epilog.php, кастомизация собственно компонента).
  • Настройка отображения данных инфоблока в административной части под нужды обычного пользователя. Как показывает практика, почти никто из Контент-менеджеров не желает ознакомиться с этой возможностью и не умеет перенастраивать отображение структуры инфоблоков под себя.

Штатные возможности

Штатные средства модуля Информационные блоки достаточно обширны. Не ограничено ни количество типов инфоблоков, ни число самих инфоблоков, ни количество свойств каждого инфоблока, ни количество разделов или элементов.

Советы от веб-разработчиков.

Максим Месилов: Для важных ИБ, которыми управляют несколько людей, желательно включать журналирование. Так вы сможете быстро найти концы в случае непонятного удаления элементов или их редактирования.

Настройки журналирования – вкладка в настройках ИБ.

Свойства инфоблоков

Элементы каждого инфоблока имеют набор системных свойств, которые могут быть расширены пользовательскими свойствами. Свойства, задаваемые для инфоблока, различаются по своим типам:

  • Строка – значение свойства задается в виде текстовой строки;
  • Число – значение свойства задается в виде числа;
  • Список – значение свойства выбирается из списка;
  • Файл – в качестве значения свойства используется файл;
  • Привязка к разделам – с помощью данного свойства можно задать связь между элементом данного инфоблока и разделами другого информационного блока;
  • Привязка к элементам – задание связи между элементами информационных блоков «поштучно»;
  • HTML/текст – значение свойства задается в виде текста с HTML-тегами;
  • Привязка к элементам по XML_ID – привязка хранится как строка и значением является XML_ID привязанного элемента;
  • Привязка к карте Google Maps – задается связь между элементом инфоблока и компонентом

    Google Map

    для использования компонентов Google необходимо иметь ключ доступа. Инструкция по получению ключа находится в этом уроке.

  • Справочник – задается связь между элементом инфоблока и highload блоками;
  • Привязка к Яндекс.Карте – задается связь между элементом инфоблока и компонентом Яндекс.Карта;
  • Счетчик – аналог autoincrement для БД. При добавлении элемента инфоблока значение будет больше на единицу, чем последнее. Стартовое значение задается произвольно. Можно использовать для журналов учета входящих документов и т.п., где должна быть непрерывная нумерация документов.
  • Привязка к пользователю – с помощью данного свойства можно задать связь между элементом данного инфоблока и пользователями системы;
  • Дата/Время – значение свойства задается в виде даты/времени;
  • Видео – задается связь между элементом списка и медиафайлом;
  • Привязка к элементам в виде списка – задание связи между элементами списком;
  • Привязка к теме форума – с помощью данного свойства можно задать связь между элементом данного инфоблока и темами форума;
  • Привязка к файлу (на сервере) – с помощью данного свойства можно задать связь между элементом инфоблока и файлом на удаленном сервере;
  • Привязка к элементам с автозаполнением – задается связь с элементами с автозаполнением;
  • Привязка к разделам с автозаполнением – задается связь с разделами с автозаполнением;
  • Привязка к товарам (SKU) – задается связь с товарными предложениями (SKU).

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

Свойства разделов инфоблока

Имеется возможность задавать пользовательские свойства для разделов инфоблоков. Пользовательские поля в своем коде должны обязательно иметь приставку UF_. Список типов полей несколько меньше, чем для самого инфоблока:

  • Видео;
  • Привязка к элементам highload-блоков;
  • Строка;
  • Целое число.
  • Число;
  • Дата со временем;
  • Дата;
  • Да/Нет;
  • Файл;
  • Список;
  • Привязка к разделам инф. блоков;
  • Привязка к элементам инф. блоков;
  • Опрос;
  • Шаблон;

Как и свойства самого инфоблока, свойства разделов могут быть множественными и обязательными. Можно задать, будет ли участвовать в поиске и в фильтрации, может ли пользователь редактировать значение свойства, и будет ли оно отображаться в общем списке свойств. Кроме этого, у полей имеются дополнительные настройки, которые зависят от конкретного типа.

Экспорт-импорт

Добавление большого числа элементов инфоблоков вручную – очень трудоемкое занятие. С целью облегчения добавления информации можно применять
импорт/экспорт данных с использованием разных форматов файлов. Поддерживаются форматы:

  • RSS
  • CSV
  • XML

Экспорт и импорт в формате RSS организуются с помощью специальных компонентов RSS новости (экспорт) (bitrix:rss.out) и RSS новости (импорт) (bitrix:rss.show) соответственно.

Экспорт данных из инфоблока в CSV файл выполняется с помощью формы Выгрузка информационного блока (Контент > Информационные блоки > Экспорт > CSV). Импорт данных, хранящихся в отдельном CSV файле, в информационный блок выполняется в форме Загрузка информационного блока (Контент > Информационные блоки > Импорт > CSV).

Примечание: начиная с версии модуля 14.0.5, уровень глубины вложенности разделов для CSV-экспорта/импорта определяется настройками модуля Информационные блоки.

В более ранних версиях экспорт в CSV был ограничен тремя уровнями вложенности и, если была необходимость увеличить уровень вложенности, то приходилось менять значение у переменной $NUM_CATALOG_LEVELS в файле bitrixmodulesiblockadmindata_import.php. Такая операция являлась изменением ядра продукта, пользоваться ею можно было только в крайнем случае, т.к. при последующем обновлении это изменение удалялось из кода.

Читайте также:  Какая существует зависимость между свойствами химических

Примечание: если нужно осуществить экспорт инфоблока как торгового каталога, то необходимо воспользоваться путем Магазин > Настройки > Экспорт данных. Возможен и импорт из файла формата CSV: в качестве торгового каталога. В этом случае необходимо воспользоваться путем Магазин > Настройки > Импорт данных.

Функционал экспортаимпорта инфоблоков в формат XML позволяет переносить не только содержимое инфоблоков, но и их свойства и изображения. Экспорт производится на странице Экспорт XML (Контент > Информ. блоки > Экспорт > XML). Импорт осуществляется на странице Импорт XML (Контент > Информ. блоки > Импорт > XML).

С помощью каких типов свойств настраивается связь между информационными блоками

Настройка форм

Добавление/редактирование информационных блоков возможно как с административной, так и с публичной части. С публичной части это осуществляют контент-менеджеры. Формы добавленияредактирования инфоблоков желательно кастомизировать. В этом случае работа контент-менеджеров станет более легкой и удобной. Функция настройки форм – штатная и не требует программирования. Система позволяет:

  • Задать значения полей формы по умолчанию.
  • Задать автоматическую обработку фотографий по предварительно обозначенным параметрам.
  • Задать порядок следования закладок формы и полей на них.

Если разработчика не удовлетворяют возможности штатной настройки форм, то он может создать собственные.

Типы хранения инфоблоков

При создании информационных блоков рекомендуется хранить свойства инфоблока в отдельной таблице, причем все значения свойств одного элемента хранятся в одной строке. Эта технология называется Инфоблоки 2.0 и позволяет существенно ускорить работу системы, а также снять ряд ограничений в предыдущей версии инфоблоков. Например, теперь нет необходимости в дополнительном запросе CIBlockElement::GetProperty при выборе значений свойств функцией CIBlockElement::GetList.

Возможности инфоблоков 2.0:

  • При выборке элементов можно сразу получать значения свойств, т.к. количество присоединяемых таблиц в запросе не увеличивается с каждым свойством, а всегда равно единице.
  • Фильтрация по значениям свойств происходит аналогично инфоблокам 1.0 (за исключением множественных).
  • Выборка значений множественных свойств не приводит к декартовому произведению результата запроса – значения свойств передаются в виде массива.
  • Для комбинированных фильтров по немножественным (единичным) свойствам появилась возможность ручного создания составных индексов БД для ускорения операций выборки.
  • Для инфоблоков 2.0 нет возможности “сквозной” выборки элементов, когда в фильтре указывается тип инфоблока и символьный код свойства. В фильтре необходимо указывать IBLOCK_ID.

Важным является полная совместимость API. Т.е. техника использования инфоблоков, свойств, элементов и их значений одинакова для обоих версий инфоблоков.

Связь между инфоблоками

Bitrix Framework допускает создание взаимосвязей между информационными блоками с помощью свойств типа Привязка к элементам, Привязка к разделам, Привязка к элементам в виде списка, Привязка к элементам с автозаполнением, Привязка к разделам с автозаполнением и Привязка к товарам (SKU).

Источник

ПолеОписаниеТип свойства “Привязка к элементам”Выводить на странице списка элементов поле для фильтрации по этому свойствуОпределяет возможность вывода в фильтре на странице со списком элементов отдельного поля, с помощью которого будет осуществляться фильтрация элементов по значениям данного свойства.

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

Количество полей для ввода новых множественных значенийУказывается сколько полей для множественного свойтсва должно быть в форме добавления элемента. Активно только при установленном флажке значения Множественное.Информационный блокИнформационный блок, к элементам которого может осуществляться привязка элементов данного инфоблока.Тип свойства “Привязка к элементам в виде списка”Выводить на странице списка элементов поле для фильтрации по этому свойствуОпределяет возможность вывода в фильтре на странице со списком элементов отдельного поля, с помощью которого будет осуществляться фильтрация элементов по значениям данного свойства.

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

Информационный блокИнформационный блок, к элементам которого может осуществляться привязка элементов данного инфоблока.Высота спискаЕсли данное свойство является множественным, то в этом определяется количество строк, отображаемых в окне множественного значения. Если число элементов значения превысит число, выбранное в этом поле, то весь список можно будет просмотреть с помощью полосы прокрутки.Ограничить по ширине задание в пикслах ширины окна списка. При значении равном 0 поле ограничивается длиной самого большого названия элемента.Группировать по разделамЕсли инфоблок, выбранный в поле “Информационный блок” обладает древовидной структурой, то вывод элементов в списке будет осуществляться по разделам с выделением названия раздела жирным шрифтом.Отображать в виде списка множественного выбораПри установленной опции список привязанных элементов доступен для множественного выбора элементов в одном поле, при снятой – каждый элемент выбирается в виде отдельной строки.Тип свойства “Привязка к элементам по XML_ID”Значения свойств участвуют в поискеРазрешается или запрещается индексация значений данного свойства для внутреннего поиска.Выводить на странице списка элементов поле для фильтрации по этому свойствуОпределяет возможность вывода в фильтре на странице со списком элементов отдельного поля, с помощью которого будет осуществляться фильтрация элементов по значениям данного свойства.

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

Количество полей для ввода новых множественных значенийЕсли данное свойство является множественным, то в этом определяется количество полей для ввода значений свойства (т.е. количество возможных значений свойства).Значение по умолчаниюЗначение данного свойства, присваиваемое всем вновь создаваемым элементам информационного блока по умолчанию. С помощью кнопки […] можно выбрать элементы из списка.Тип свойства “Привязка к элементам с автозаполнением”Выводить на странице списка элементов поле для фильтрации по этому свойствуОпределяет возможность вывода в фильтре на странице со списком элементов отдельного поля, с помощью которого будет осуществляться фильтрация элементов по значениям данного свойства. Фильтрация осуществляется как по массиву значений, так и по одиночному значению.Информационный блокВыбирается тип информационного блока и инфоблок из которого получаются значения для свойства. Если инфоблок не выбран, то кнопка добавления элемента (раздела) выводиться не будет при указании значения свойства.Интерфейс показаВ выпадающем списке выберите один из вариантов интерфейса показа элементов:

  • Строка с автозаполнением – данные для автозаполнения отображаются в виде всплывающего окна с подсказками.
  • Строка с автозаполнением и выбор из списка – данные для автозаполнения отображаются в виде всплывающего окна с подсказками либо выбираются из окна списка.

    Данный вариант показа недоступен для типа “Привязка к разделам с автозаполнением”.
  • Строка с автозаполнением и выбор из окна поиска – данные для автозаполнения отображаются в виде всплывающего окна с подсказками либо выбираются из окна поиска.
Читайте также:  На каком свойстве метана основано его использование в органическом синтезе
Показывать кнопку добавления элементов (разделов)Под полем строки с автозаполнением появится кнопка Добавить элемент (Добавить раздел). С помощью этой кнопки можно быстро добавить элемент (раздел) в инфоблок, выбранный в поле Информационный блок.

Данное поле не отображается для типа &quotПривязка к товарам (SKU)”.

Брать название кнопки добавления из настроек связанного инфоблокаНазвание кнопки Добавить элемент (Добавить раздел) смениться на название из настроек выбранного инфоблока.Максимальная ширина поля ввода в пикселах (0 – не ограничивать)Можно задать ограничение ширины поля ввода.Минимальная высота поля ввода в пикселах, если свойство множественноеМожно задать ограничение высоты поля ввода, при множественном свойстве.Максимальная высота поля ввода в пикселах, если свойство множественноеМожно задать ограничение высоты поля ввода, при множественном свойстве. Применяется, если надо ограничить высоту формы при большом числе свойств.Заменяемые при показе символыВозможны проблемы с отображением названий элементов (разделов), содержащих в названии ряд символов. Например, при использовании запятой. Проблема проявляется в размножении таких названий в списке. Избежать этой ситуации можно, указав в настройках свойства перечень таких символов и выбрав символ автозамены в поле ниже. Сами названия элементов (разделов) от такой замены не меняются.Символ, который заменит при показе запрещенные символыВ выпадающем списке или в пустом поле рядом со списком укажите символ, который заменит искажающие символы в названиях.

Источник

Порядок работы

При создании раздела сайта с использованием информационных блоков желательно придерживаться определённого порядка действий. Этот порядок может отличаться в зависимости от степени готовности проекта и сложности конкретного ТЗ. Практически в любом случае вам потребуются следующие действия:

  • Внимательное продумывание структуры инфоблоков.
  • Создание нужного типа инфоблоков с настройкой параметров.
  • Создание самих инфоблоков с настройкой параметров.
  • Создание структуры внутри инфоблока.
  • Создание элементов инфоблока
  • Создание физической страницы (в случае использования комплексного компонента) или страниц (при использовании простых компонентов) и размещение на ней компонента (компонентов) с последующей настройкой его свойств.
  • Кастомизация работы компонента под потребности ТЗ и дизайна сайта (кастомизация шаблона компонента, использование файлов result_modifier.php или component_epilog.php, кастомизация собственно компонента).
  • Настройка отображения данных инфоблока в административной части под нужды обычного пользователя. Как показывает практика, почти никто из Контент-менеджеров не желает ознакомиться с этой возможностью и не умеет перенастраивать отображение структуры инфоблоков под себя.

Штатные возможности

Штатные средства модуля Информационные блоки достаточно обширны. Не ограничено ни количество типов инфоблоков, ни число самих инфоблоков, ни количество свойств каждого инфоблока, ни количество разделов или элементов.

Советы от веб-разработчиков.

Максим Месилов: Для важных ИБ, которыми управляют несколько людей, желательно включать журналирование. Так вы сможете быстро найти концы в случае непонятного удаления элементов или их редактирования.

Настройки журналирования – вкладка в настройках ИБ.

Свойства инфоблоков

Элементы каждого инфоблока имеют набор системных свойств, которые могут быть расширены пользовательскими свойствами. Свойства, задаваемые для инфоблока, различаются по своим типам:

  • Строка – значение свойства задается в виде текстовой строки;
  • Число – значение свойства задается в виде числа;
  • Список – значение свойства выбирается из списка;
  • Файл – в качестве значения свойства используется файл;
  • Привязка к разделам – с помощью данного свойства можно задать связь между элементом данного инфоблока и разделами другого информационного блока;
  • Привязка к элементам – задание связи между элементами информационных блоков «поштучно»;
  • HTML/текст – значение свойства задается в виде текста с HTML-тегами;
  • Привязка к элементам по XML_ID – привязка хранится как строка и значением является XML_ID привязанного элемента;
  • Привязка к карте Google Maps – задается связь между элементом инфоблока и компонентом

    Google Map

    для использования компонентов Google необходимо иметь ключ доступа. Инструкция по получению ключа находится в этом уроке.

  • Справочник – задается связь между элементом инфоблока и highload блоками;
  • Привязка к Яндекс.Карте – задается связь между элементом инфоблока и компонентом Яндекс.Карта;
  • Счетчик – аналог autoincrement для БД. При добавлении элемента инфоблока значение будет больше на единицу, чем последнее. Стартовое значение задается произвольно. Можно использовать для журналов учета входящих документов и т.п., где должна быть непрерывная нумерация документов.
  • Привязка к пользователю – с помощью данного свойства можно задать связь между элементом данного инфоблока и пользователями системы;
  • Дата/Время – значение свойства задается в виде даты/времени;
  • Видео – задается связь между элементом списка и медиафайлом;
  • Привязка к элементам в виде списка – задание связи между элементами списком;
  • Привязка к теме форума – с помощью данного свойства можно задать связь между элементом данного инфоблока и темами форума;
  • Привязка к файлу (на сервере) – с помощью данного свойства можно задать связь между элементом инфоблока и файлом на удаленном сервере;
  • Привязка к элементам с автозаполнением – задается связь с элементами с автозаполнением;
  • Привязка к разделам с автозаполнением – задается связь с разделами с автозаполнением;
  • Привязка к товарам (SKU) – задается связь с товарными предложениями (SKU).
Читайте также:  Каким свойством обладают все клетки многоклеточных организмов

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

Свойства разделов инфоблока

Имеется возможность задавать пользовательские свойства для разделов инфоблоков. Пользовательские поля в своем коде должны обязательно иметь приставку UF_. Список типов полей несколько меньше, чем для самого инфоблока:

  • Видео;
  • Привязка к элементам highload-блоков;
  • Строка;
  • Целое число.
  • Число;
  • Дата со временем;
  • Дата;
  • Да/Нет;
  • Файл;
  • Список;
  • Привязка к разделам инф. блоков;
  • Привязка к элементам инф. блоков;
  • Опрос;
  • Шаблон;

Как и свойства самого инфоблока, свойства разделов могут быть множественными и обязательными. Можно задать, будет ли участвовать в поиске и в фильтрации, может ли пользователь редактировать значение свойства, и будет ли оно отображаться в общем списке свойств. Кроме этого, у полей имеются дополнительные настройки, которые зависят от конкретного типа.

Экспорт-импорт

Добавление большого числа элементов инфоблоков вручную – очень трудоемкое занятие. С целью облегчения добавления информации можно применять
импорт/экспорт данных с использованием разных форматов файлов. Поддерживаются форматы:

  • RSS
  • CSV
  • XML

Экспорт и импорт в формате RSS организуются с помощью специальных компонентов RSS новости (экспорт) (bitrix:rss.out) и RSS новости (импорт) (bitrix:rss.show) соответственно.

Экспорт данных из инфоблока в CSV файл выполняется с помощью формы Выгрузка информационного блока (Контент > Информационные блоки > Экспорт > CSV). Импорт данных, хранящихся в отдельном CSV файле, в информационный блок выполняется в форме Загрузка информационного блока (Контент > Информационные блоки > Импорт > CSV).

Примечание: начиная с версии модуля 14.0.5, уровень глубины вложенности разделов для CSV-экспорта/импорта определяется настройками модуля Информационные блоки.

В более ранних версиях экспорт в CSV был ограничен тремя уровнями вложенности и, если была необходимость увеличить уровень вложенности, то приходилось менять значение у переменной $NUM_CATALOG_LEVELS в файле bitrixmodulesiblockadmindata_import.php. Такая операция являлась изменением ядра продукта, пользоваться ею можно было только в крайнем случае, т.к. при последующем обновлении это изменение удалялось из кода.

Примечание: если нужно осуществить экспорт инфоблока как торгового каталога, то необходимо воспользоваться путем Магазин > Настройки > Экспорт данных. Возможен и импорт из файла формата CSV: в качестве торгового каталога. В этом случае необходимо воспользоваться путем Магазин > Настройки > Импорт данных.

Функционал экспортаимпорта инфоблоков в формат XML позволяет переносить не только содержимое инфоблоков, но и их свойства и изображения. Экспорт производится на странице Экспорт XML (Контент > Информ. блоки > Экспорт > XML). Импорт осуществляется на странице Импорт XML (Контент > Информ. блоки > Импорт > XML).

С помощью каких типов свойств настраивается связь между информационными блоками

Настройка форм

Добавление/редактирование информационных блоков возможно как с административной, так и с публичной части. С публичной части это осуществляют контент-менеджеры. Формы добавленияредактирования инфоблоков желательно кастомизировать. В этом случае работа контент-менеджеров станет более легкой и удобной. Функция настройки форм – штатная и не требует программирования. Система позволяет:

  • Задать значения полей формы по умолчанию.
  • Задать автоматическую обработку фотографий по предварительно обозначенным параметрам.
  • Задать порядок следования закладок формы и полей на них.

Если разработчика не удовлетворяют возможности штатной настройки форм, то он может создать собственные.

Типы хранения инфоблоков

При создании информационных блоков рекомендуется хранить свойства инфоблока в отдельной таблице, причем все значения свойств одного элемента хранятся в одной строке. Эта технология называется Инфоблоки 2.0 и позволяет существенно ускорить работу системы, а также снять ряд ограничений в предыдущей версии инфоблоков. Например, теперь нет необходимости в дополнительном запросе CIBlockElement::GetProperty при выборе значений свойств функцией CIBlockElement::GetList.

Возможности инфоблоков 2.0:

  • При выборке элементов можно сразу получать значения свойств, т.к. количество присоединяемых таблиц в запросе не увеличивается с каждым свойством, а всегда равно единице.
  • Фильтрация по значениям свойств происходит аналогично инфоблокам 1.0 (за исключением множественных).
  • Выборка значений множественных свойств не приводит к декартовому произведению результата запроса – значения свойств передаются в виде массива.
  • Для комбинированных фильтров по немножественным (единичным) свойствам появилась возможность ручного создания составных индексов БД для ускорения операций выборки.
  • Для инфоблоков 2.0 нет возможности “сквозной” выборки элементов, когда в фильтре указывается тип инфоблока и символьный код свойства. В фильтре необходимо указывать IBLOCK_ID.

Важным является полная совместимость API. Т.е. техника использования инфоблоков, свойств, элементов и их значений одинакова для обоих версий инфоблоков.

Связь между инфоблоками

Bitrix Framework допускает создание взаимосвязей между информационными блоками с помощью свойств типа Привязка к элементам, Привязка к разделам, Привязка к элементам в виде списка, Привязка к элементам с автозаполнением, Привязка к разделам с автозаполнением и Привязка к товарам (SKU).

Источник