Найти в Дзене
Кодовые решения

События в 1С-Битрикс: админка и клиентская часть

Оглавление

1С-Битрикс поддерживает механизм событий, позволяющий разработчикам расширять и изменять поведение системы без модификации ядра. В этой статье рассмотрим основные события, которые можно использовать как в административной части, так и на клиентском сайте.

События в административной части

1. Контекстное меню администратора

  • OnAdminContextMenuShow — позволяет изменять элементы контекстного меню в административной панели.
  • OnBuildGlobalMenu — модификация глобального меню в админке.
  • OnAdminListDisplay — изменение списка элементов в административных страницах.

2. Формы редактирования

  • OnAdminTabControlBegin — изменение вкладок в формах редактирования элементов.
  • OnAdminTabControlBuild — добавление новых вкладок в формы редактирования.

3. Обработка сохранения данных

  • OnBeforeUserUpdate — выполняется перед обновлением пользователя.
  • OnAfterUserUpdate — вызывается после обновления пользователя.
  • OnBeforeIBlockElementUpdate — срабатывает перед обновлением элемента инфоблока.
  • OnAfterIBlockElementUpdate — вызывается после обновления элемента инфоблока.
  • OnBeforeIBlockElementDelete — перед удалением элемента инфоблока.
  • OnAfterIBlockElementDelete — после удаления элемента инфоблока.

4. Управление модулями

  • OnModuleInstall — вызывается при установке модуля.
  • OnModuleUnInstall — вызывается при удалении модуля.

События на клиентской стороне

1. Работа с пользователями

  • OnBeforeUserLogin — перед авторизацией пользователя.
  • OnAfterUserLogin — после успешного входа пользователя.
  • OnBeforeUserRegister — перед регистрацией нового пользователя.
  • OnAfterUserRegister — после успешной регистрации.
  • OnBeforeUserLogout — перед выходом пользователя.
  • OnAfterUserLogout — после выхода пользователя.

2. Работа с инфоблоками

  • OnBeforeIBlockElementAdd — перед добавлением элемента инфоблока.
  • OnAfterIBlockElementAdd — после добавления элемента инфоблока.
  • OnBeforeIBlockElementUpdate — перед обновлением элемента.
  • OnAfterIBlockElementUpdate — после обновления элемента.

3. Обработка заказов (для интернет-магазина)

  • OnSaleOrderBeforeSaved — перед сохранением заказа.
  • OnSaleOrderSaved — после сохранения заказа.
  • OnSaleOrderDeleted — после удаления заказа.
  • OnSaleOrderCanceled — при отмене заказа.
  • OnSaleOrderPaid — при оплате заказа.

4. Работа с контентом

  • OnEpilog — срабатывает в конце загрузки страницы, позволяет модифицировать выводимый контент.
  • OnProlog — вызывается перед обработкой заголовков страницы.
  • OnEndBufferContent — позволяет изменить HTML-код перед отправкой пользователю.

Использование файла init.php

Файл init.php предназначен для регистрации обработчиков событий и подключения необходимых модулей. Он находится в директории /bitrix/php_interface/ и выполняется при каждом запросе.

Пример использования init.php для регистрации события:

-2

Этот код добавляет новую кнопку в контекстное меню админки.

Заключение

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