Как реализовать сообщение об ошибке с версткой в коробочной версии Битрикс24?

Ссылка скопирована
1 ответ

Есть проблема:

Сейчас ситуация такая: нужно чтобы при обновлении сделки выводилось сообщение с ошибкой, если наступило какое то условие (например ID > 100).

По вводным: я знаю что это можно сделать используя обработчик подключенный вInit.php:

Например:

public static function handleElementChange(&$arFields): bool { if ($arFields['ID'] > 100) { global $APPLICATION; $arFields['RESULT_MESSAGE'] = 'Текст ошибки!'; $APPLICATION->ThrowException('Текст ошибки!'); return false; } return true; }

Сейчас ситуация такая: но проблема в том, что мне нужно вывести вёрстку в сообщении, например с ссылкой кликнув на которую можно перейти на другую страницу в отдельной вкладке.

В какую сторону копать?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Алексей Денисов Ответ

В коробочной версии Битрикс24 сообщение об ошибке с версткой лучше реализовывать не правкой ядра, а через свой компонент, шаблон, JS-расширение или обработчик в нужном месте бизнес-логики. Прямая правка файлов продукта почти гарантированно слетит при обновлении.

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

Для аккуратной верстки используйте единый HTML-блок:

<div class="ui-alert ui-alert-danger">
  <span class="ui-alert-message">Текст ошибки</span>
</div>

В Битрикс24 уже есть UI Kit, поэтому лучше использовать штатные классы, если они доступны, а не рисовать отдельный дизайн. Так сообщение будет выглядеть нативно.

Если ошибка приходит из AJAX, возвращайте структурированный JSON:

echo BitrixMainWebJson::encode(array(
    'success' => false,
    'message' => 'Не удалось сохранить данные'
));

На фронте показывайте сообщение в нужном контейнере или через штатный alert/notification. Не вставляйте сырый текст ошибки из исключения пользователю, если там могут быть пути, SQL или внутренние данные.

Итог: делайте вывод ошибки через кастомный компонент/шаблон или JS-расширение, используйте штатный UI Битрикс24 и не меняйте core. Если нужно показать ошибку внутри бизнес-процесса, лучше возвращать понятный статус/комментарий через действие процесса, а не ломать системную верстку.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно