Документация для разработчиков
Темная тема

Компонент для отрисовки UF-поля

Класс компонента

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


Название компонента

Название компонентов формируется по следующему принципу:

<moduleName>.field.<componentName>

Например, main.field.string.


Особенности работы компонента

  • На текущий момент есть два возможных варианта отрисовки поля:
    • десктоп
    • мобильное устройство (планшет, телефон и т.д.)

    В терминологии компонента это называется MEDIA_TYPE (имя вида внутри шаблона). Соответственно, его можно установить либо в шаблон .default, либо в mobile. В случае необходимости можно добавить дополнительные MEDIA_TYPE. Если MEDIA_TYPE не указан, то будет использован вид по умолчанию .default.php.

  • Также можно указать значение MODE (имя шаблона). Либо будет использоваться шаблон по умолчанию .default, если MODE не указан или шаблон с таким именем отсутствует в конкретном компоненте. Т.е. теперь нет необходимости создавать шаблон для всех типов полей, а можно ограничиться лишь необходимыми типами полей. Во всех остальных типах будет задействован шаблон по умолчанию. Можно передать массив желаемых шаблонов в порядке их приоритета, и компонент сам выберет ближайший существующий шаблон.
  • То же самое справедливо для MEDIA_TYPE (вида) внутри MODE (шаблона). При отсутствии указанного вида будет использован вид по умолчанию, а именно .default.php. Если он тоже отсутствует, и при этом сам шаблон физически существует, то будет отдана стандартная ошибка, например, Cannot find 'main.view' template with page '.default'.

Схема выбора шаблона

Схема справедлива при указании одного шаблона. В случае передачи массива шаблонов будет найден первый подходящий шаблон из массива. В случае отсутствия подходящих шаблонов будет дополнительно проверен шаблон .default согласно схеме.

Основные шаблоны существующих uf полей

  • .default
  • main.view - отрисовка значения поля, в частности применяется в сущностях CRM;
  • main.edit - отрисовка контрола поля в режиме редактирования, в частности применяется в сущностях CRM;
  • main.public_text - получение печатного значения поля, например, для подстановки в шаблонах писем;
  • main.filter_html - отрисовка контрола для старого фильтра в административном разделе;
  • main.edit_form - редактирование поля в административном разделе;
  • main.admin_settings - блок настроек поля;
  • main.admin_list_edit_html - отрисовка поля в режиме редактирования в гридах административного раздела;
  • main.admin_list_view_html - отрисовка поля в режиме показа в гридах административного раздела;
  • crm.field.element - привязка к элементам CRM;
  • crm.field.status - привязка к справочникам CRM;
  • intranet.field.employee - привязка к пользователю;
  • fileman.field.address - адрес.


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх