Блог Горошко Андрея Bitrix24,PHP Контентный блок конфигурируемого дела

Контентный блок конфигурируемого дела

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Контентный блок конфигурируемого дела», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.

Контентный блок конфигурируемого дела

Контентные блоки ContentBlockDto — основа контентной области записи таймлайна. Сочетая эти блоки можно гибко собирать различные интерфейсы.

Данная структура используется при создании конфигурируемых дел и при обогащении записей таймлайна контентными блоками.

Общая структура блока:

{
    "type": "Тип блока",
    "properties": {
        ... какие-то свойства, различные для каждого конкрентого блока
    }
}

Типы контентных блоков:

Текст

Самый простой блок type = text, который выводит некоторый форматированный текст.

Параметры

ПолеОписание
*value^^
textWithTranslation
Текст, который будет показан
multiline
boolean
Обработка переносов строк. Если true, то символы \n будут заменены на <br>. По-умолчанию false
title
textWithTranslation
Аттрибут title
bold
boolean
Жирный текст. По-умолчанию false
size
string
Размер текста. Может принимать значения xs, sm, md (по-умолчанию md)
color
string
Цвет текста. Может принимать значения base_50, base_60, base_70, base_90
scope
string
Область видимости, например web

Пример

{
    "icon": {
        "code": "info"
    },
    "header": {
        "title": "Информационное сообщение"
    },
    "body": {
        "logo": {
            "code": "notification"
        },
        "blocks": {
            "text": {
                "type": "text",
                "properties": {
                    "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
                }
            }
        }
    }
}

!Текст

Длинный многострочный текст

Блок type = largeText позволяет отображать длинные многострочные тексты, которые будут автоматически свернуты до превью.

Параметры

ПолеОписание
value^^
textWithTranslation
Текст, который будет показан
scope
string
Область видимости, например web

Пример

Длинный текст, убранный под «Показать полностью».

{
    "icon": {
        "code": "info"
    },
    "header": {
        "title": "Информационное сообщение"
    },
    "body": {
        "logo": {
            "code": "notification"
        },
        "blocks": {
            "text": {
                "type": "largeText",
                "properties": {
                    "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
                }
            }
        }
    }
}

!Длинный текст

Ссылка

Блок type = link выводит ссылку.

Параметры

ПолеОписание
text^^
textWithTranslation
Текст, который будет показан. HTML теги не поддерживаются
action^^
ActionDto
Действие по нажатию на ссылку
bold
boolean
Жирный текст. По-умолчанию false
scope
string
Область видимости, например web

Пример

{
    "type": "link",
    "properties": {
     "text": "Открыть сделку",
     "action": {
        "type": "redirect",
        "uri": "/crm/deal/details/123/"
     },
     "bold": true
    }
}

!Ссылка

Блок с заголовком

Блок type = withTitle выводит пару название-значение. В качестве значения может быть использован другой контент-блок.

Параметры

ПолеОписание
title^^
textWithTranslation
Текст заголовка
block^^
ContentBlockDto
Контент-блок, являющийся значением. Поддерживаются блоки с типами text, link, deadline
inline
boolean
Показ названия и значения в одну строку. По-умолчанию false
scope
string
Область видимости, например web

Примеры

{
    "type": "withTitle",
    "properties": {
        "title": "Заголовок",
        "block": {
            "type": "text",
            "properties": {
                "value": "Какое-то значение"
            }
        }
    }
}

!Ссылка

{
    "type": "withTitle",
    "properties": {
        "title": "Заголовок 2",
        "block": {
            "type": "link",
            "properties": {
                "text": "Открыть сделку",
                "action": {
                    "type": "redirect",
                    "uri": "/crm/deal/details/123/"
                }
            }
        },
        "inline": true
    }
}

!Ссылка

Несколько контент-блоков в одну строку

Блок type = lineOfBlocks выводит в одну строку несколько контент-блоков типа текст или ссылка. Это позволяет выводить текст с разным форматированием, смешанный с ссылками, в одной строке.

Параметры

ПолеОписание
blocks^^
ContentBlockDto[]
Ассоциативный массив контент-блоков. Поддерживаются блоки с типами text, link, deadline
scope
string
Область видимости, например web

Примеры

{
    "type": "lineOfBlocks",
    "properties": {
        "blocks": {
            "text": {
                "type": "text",
                "properties": {
                    "value": "Какой-то текст"
                }
            },
            "link": {
                "type": "link",
                "properties": {
                    "text": "ссылка",
                    "action": {
                        "type": "redirect",
                        "uri": "/crm/deal/details/123/"
                    }
                }
            },
            "boldText": {
                "type": "text",
                "properties": {
                    "value": "жирный текст",
                    "bold": true
                }
            }
        }
    }
}

!Ссылка

Выбор крайнего срока

Блок type = deadline отображает текущее значение дедлайна с возможностью его быстро изменить. Блок не будет показан, если его добавить во входящее дело или в дело без дедлайна.

Параметры

ПолеОписание
readonly
boolean
Разрешение изменять крайний срок. По умолчанию false. Если у пользователя нет доступа на изменение сущности, к которой относится дело, или если дело выполнено, то readonly = true вне зависимости от переданных настроек
scope**
string
Область видимости, например web

Примеры

{
    "type": "deadline",
    "properties": {
        "readonly": false
    }
}

!Ссылка

  • [](../../layout-blocks/index)
  • [](../../../layout-blocks/index)
  • [](./layout)
  • [](./icon)
  • [](./header)
  • [](./body)
  • [](./footer)
  • [](./menu-item)
  • [](./action)
  • [](./field-types)
  • [](./rest-app-layout-dto)
  • [](./examples)

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к контентный блок, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Контентный блок конфигурируемого дела».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Как использовать метод SDK voximplant.sip.delete в Битрикс24Как использовать метод SDK voximplant.sip.delete в Битрикс24

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Как использовать метод SDK voximplant.sip.delete в Битрикс24», разберем

Получить цену товара по идентификатору catalog.price.getПолучить цену товара по идентификатору catalog.price.get

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить цену товара по идентификатору catalog.price.get», проанализируем лучшие

Валидаторы: Подробное руководствоВалидаторы: Подробное руководство

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Валидаторы: Подробное руководство», разберем архитектурные особенности и предоставим