[`\Shef\Problems\Integration`] События и меню

Что модуль регистрирует в ядре при установке. Список — в .settings.php, ключ installEvents; что каждый обработчик существует, сверяет tests/settings_test.php.

Что модуль регистрирует в ядре при установке. Список — в .settings.php, ключ installEvents; что каждый обработчик существует, сверяет tests/settings_test.php.

обработчиксобытиечто делает
Main\Events::onPageStartmain:OnPageStartв административной части подключает стили вывода PrHtml
Main\Events::onEventLogGetAuditTypesmain:OnEventLogGetAuditTypesрегистрирует типы событий модуля в журнале событий — их видно в фильтре

Типы событий журнала — \Shef\Problems\Main\Constants::getAuditTypeList():

типо чём
SH_PROBLEMS_PROBLEMпроблема общего вида — тип по умолчанию
SH_PROBLEMS_SYNCпроблема с синхронизацией
SH_PROBLEMS_PRODUCTпроблема с товаром
SH_PROBLEMS_SALEпроблема с продажами

Меню «Учёт проблем»

Настройки → Учёт проблем в административной части, только администратору. Отдаёт его admin/menu.php: ядро подключает этот файл само для каждого установленного модуля, ничего регистрировать не нужно. Разметку меню строит \Shef\Problems\Integration\Main\AdminMenu::build().

пункткуда ведёт
Логи → [Monolog] …каждый файл, который пишут логгеры модуля; фабрика проблем — по файлу на тип
Логи → Ошибки PHP, E-mailexceptions.log и mailer.log, если проект кладёт их в каталог логов
Логи → Все логисписок файлов каталога логов с размером и временем
Журнал событий → [Monolog] …журнал, отфильтрованный по типу события
Журнал событий → Ошибки платёжных системтаблица b_sale_pay_system_err_log; только если стоит perfmon
Настройки модулястраница настроек

Та же страница логов — по ссылке со страницы настроек модуля, вкладка «Сотрудники»; там же виден каталог логов.

Логи открываются страницей модуля /bitrix/admin/shef_problems_logs.php: каталог логов лежит вне корня сайта, и ни прямая ссылка, ни файловый менеджер Битрикса до него не дотянутся. Заглушку /bitrix/admin/shef_problems_logs.php пишет установщик — с путём туда, где модуль стоит (/bitrix/modules или /local/modules); удаление модуля убирает ровно её и только если это она, а не файл проекта. Как страница проверяет имя файла — в security.md.

До 2.0.0: shef.uiclear

Раньше те же пункты вешались на верхнюю панель Битрикс24 через событие shef.uiclear:onBitrixMenuExtInitTopPanelUserMenu, и модуль требовал shef.uiclear. С 2.0.0 от него не зависит: меню — штатное, административное.

На портале, обновлённом с 1.x, регистрация того обработчика остаётся: замена файлов её не снимает. Поэтому класс \Shef\Problems\Integration\Shef\UiClear\Events оставлен заглушкой — отвечает «нечего добавить» и не падает, — а деинсталляция снимает и эту регистрацию. Хотите убрать её сразу — переустановите модуль.

↑ Содержание | def-functions →

Источник: problems/docs/1_events.md — правки туда, сайт пересобирается сам.
CtrlI