Хуки и фильтры приложения

Представленный в данном разделе список содержит описание хуков ядра приложения.

Модули

  • {название модуля}.init - хук вызываемый после инициализации модуля
    • Module $object - объект модуля
  • cron.settings.module.{название модуля} - фильтр списка крон задач модуля
    • array $tasks - список задач модуля
    • Module $object - объект модуля
  • sendmail.templates.module.{название модуля} - фильтр списка шаблонов писем модуля
    • array $templates - список шаблонов модуля
    • Module $object - объект модуля
  • site.settings.system.extra.{название модуля} - фильтр списка системных настроек модуля
    • array $settings - дополнительные системные настройки
    • Module $object - объект модуля
  • publicator.settings.{название модуля} - фильтр настроек компонента Publicator инициализируемого в модуле
    • array $settings - настройки компонента
    • \bff\db\Publicator $object - объект компонента
  • locale.tables.{название модуля} - фильтр списка локализируемых таблиц и полей модуля
    • array $list - список
    • Model $object - объект модели модуля  

Плагины

  • plugins.init.{название плагина} - хук вызываемый после инициализации плагина, перед вызовом метода start
    • Plugin $object - объект плагина
  • plugins.start.{название плагина} - хук вызываемый после старта плагина
    • Plugin $object - объект плагина
  • cron.settings.plugin.{название плагина} - фильтр списка крон задач плагина
    • array $tasks - список задач плагина
    • Plugin $object - объект плагина
  • sendmail.templates.plugin.{название плагина} - фильтр списка шаблонов писем плагина
    • array $templates - список шаблонов плагина
    • Plugin $object - объект плагина  

Шаблоны

  • view.module.{название модуля}.{название шаблона} - фильтр для пост-обработки php-шаблонов модуля
    • string $content - сформированный HTML шаблон
    • array $data - данные передаваемые в шаблон
    • array $extra: 'filePath' - путь к подключаемому файлу, 'fileName' - имя файла с расширением, 'relPath' - относительный путь, 'theme' - подключается ли файл темы
  • view.module.{название модуля}.{название шаблона}.data - хук для предварительной обработки данных php-шаблонов модуля
    • array $view: 'data' - данные передаваемые по ссылке, 'filePath' - путь к подключаемому файлу, 'fileName' - имя файла с расширением, 'relPath' - относительный путь, 'theme' - подключается ли файл темы
  • view.plugin.{название плагина}.{название шаблона} - фильтр для пост-обработки php-шаблонов плагина
    • string $content - сформированный HTML шаблон
    • array $data - данные передаваемые в шаблон
    • array $extra: 'filePath' - путь к подключаемому файлу, 'fileName' - имя файла с расширением, 'relPath' - относительный путь, 'theme' - подключается ли файл темы
  • view.plugin.{название плагина}.{название шаблона}.data - хук для предварительной обработки данных php-шаблонов плагина
    • array $view: 'data' - данные передаваемые по ссылке, 'filePath' - путь к подключаемому файлу, 'theme' - подключается ли файл темы
  • view.tpl.{название шаблона} - фильтр для пост-обработки php-шаблонов из директории /tpl/
    • string $content - сформированный HTML шаблон
    • array $data - данные передаваемые в шаблон
    • array $extra: 'filePath' - путь к подключаемому файлу, 'fileName' - имя файла с расширением, 'relPath' - относительный путь, 'theme' - подключается ли файл темы
  • view.tpl.{название шаблона}.data - хук для предварительной обработки данных php-шаблонов из директории /tpl/
    • array $view: 'data' - данные передаваемые по ссылке, 'filePath' - путь к подключаемому файлу, 'fileName' - имя файла с расширением, 'relPath' - относительный путь, 'theme' - подключается ли файл темы  

Роутинг

  • routes - фильтр списка роутов проекта
    • array $list - список роутов
    • array $options - дополнительные опции
  • {название модуля}.routes - фильтр списка роутов модуля
    • array $list - список роутов
    • array $options - дополнительные опции
  • {название модуля}.url - фильтр формирования ссылок модуля, реализованный в статическом методе url() модуля
    • string $url - сформированный URL ссылки
    • array $data - параметры ссылки: key - ключ, opts - доп. параметры, dynamic - динамическая ссылка, base - базовый URL  

Админ-панель

  • admin.menu.tabs - фильтр списка определяющего порядок основных разделов меню
    • array $tabs - список названий пунктов меню
  • admin.menu.header.counters - фильтр списка пунктов со счетчиками в шапке
    • array $list - список
  • admin.menu.header.user - фильтр списка пунктов меню в выпадающем списке пользователя в правом верхнем углу
    • array $list - список
  • admin.menu.build - хук вызываемый после завершения формирования списка меню админ. панели
    • Menu $object - объект меню  

JavaScript

  • js.extra - хук для вставки дополнительных javascript файлов фронтенда
  • admin.js.extra - хук для вставки дополнительных javascript файлов в админ. панели
  • js.includes - фильтр списка подключенных javascript фалов
    • array $list - список файлов
  • admin.js.includes - фильтр списка подключенных javascript фалов в админ. панели
    • array $list - список файлов
  • js.includes.core - фильтр списка javascript библиотек ядра
    • array $list - список настроек
  • js.app.lang - фильтр списка фраз локализации передаваемых в javascript объекта app (frontend)
    • array $list - список фраз  

CSS

  • css.extra - хук для вставки дополнительных css файлов фронтенда
  • admin.css.extra - хук для вставки дополнительных css файлов в админ. панели
  • css.includes - фильтр списка подключенных css фалов
    • array $list - список файлов
  • admin.css.includes - фильтр списка подключенных css фалов в админ. панели
    • array $list - список файлов  

Системы оплаты

  • bills.pay.systems.data - фильтр списка данных о системах оплат используемый в ядре
    • array $list - список данных
  • bills.pay.systems.user - фильтр списка доступных для выбора способов оплаты отображаемый пользователю
    • array $list - список систем оплат
    • array $extra - дополнительные данные: balanceUse - доступен ли выбор оплаты со счета
  • bills.pay.submit - хук обработки события сабмита формы пополнения счета
    • float $amount - сумма указанная пользователем
    • string $paySystem - ключ системы оплаты
    • array $pay - сумма к оплате: [amount => сумма, currency => ID валюты]
  • bills.pay.form - фильтр формы оплаты счета отправляемый провайдеру системы оплаты
    • string $form - HTML форма
    • int $paySystem - ID системы оплаты
    • array $data - дополнительные данные о выставляемом счете
  • bills.pay.process - хук обработки запроса от системы оплаты
    • string $paySystem - ключ системы оплаты выполняющей запрос либо название метода
  • bills.pay.success - хук обработки страницы успешной оплаты
  • bills.pay.fail - хук обработки страницы ошибки оплаты
  • bills.pay.result - хук обработки результирующего метода (требуется для некоторых систем оплаты)
  • bills.status.list - фильтр списка статусов счета
    • array $list - список доступных статусов  

Отправка почты

  • mail.send.template - фильтр данных шаблона письма перед отправкой
    • array $data - данные о шаблоне письма:
      • 'subject' - заголовок письма,
      • 'body' - тело письма,
      • 'is_html' - применяется HTML шаблон письма,
      • 'wrapper_id' - ID шаблона письма "Работа с почтой / Шаблоны писем",
      • 'to' - email получателя,
      • 'from' - email отправителя (по-умолчанию значение системной настройки mail.noreply),
      • 'fromName' - имя отправителя (по-умолчанию значение системной настройки mail.fromname),
      • 'vars' - данные подставляемые в шаблон {макрос} => 'значение',
      • 'lang' - ключ языка шаблона (язык по-умолчанию)
    • string $templateName - название шаблона
  • mail.sended - хук отправки почты, вызываемый сразу после отправки письма
    • array $data - данные об отправке: 'to', 'subject', 'body', 'from', 'fromName', 'result' - результат отправки, 'time' - время отправки
    • Mail $object - объект компонента отправки почты  

SEO

  • seo.meta.render - фильтр списка meta-данных выводимых в блоке
    • array $view - список meta-данных
  • seo.meta.text.prepare - фильтр подстановки SEO макросов в текст
    • string|array $text - SEO текст или список текстов
    • array $data - доп. параметры: 'replace' - ссылка на список замены с => на, 'macrosData' - ссылка на данные подставляемые вместо макросов
  • seo.templates.{название модуля/плагина} - фильтр настроек SEO шаблонов модуля/плагина
    • array $templates - список настроек шаблонов
    • Module|Plugin $object - объект модуля/плагина
  • site.cron.sitemapXML - фильтр данных передаваемых в Sitemap.xml
    • array $data - данные в формате списка callback  

Компоненты ядра

  • input.email.temporary - фильтр дополнительной проверки наличия email адреса в списке запрещенных (временных адресов) (isEmailTemporary)
    • bool $isTemporary - был помечен системой как временный (true), не был помечен (false)
    • string $email - email адрес
  • input.phone.validate - фильтр дополнительной валидации номера телефона (isPhoneNumber)
    • string $phoneNumber - номер телефона
  • input.text.validate - фильтр дополнительной валидации текста типа TYPE_TEXT
    • string $text - текст
  • input.searchstring.validate - фильтр дополнительной валидации строки для поиска (cleanSearchString)
    • string $string - строка поиска
  • utils.func.translit - фильтр дополнительной транслитерации текста
    • string $text - текст для которого выполняется транслитерация
  • utils.func.translit.convert - фильтр списка транслитерируемых символов
    • array $list - список 'символ'=>'транслитерация'
  • utils.videoparser.providers.list - фильтр списка поддерживаемых провайдеров видео ссылок
    • array $list - список настроек провайдеров  

Дополнительно

  • app.init - хук вызываемый после инициализации приложения
  • dev.writable.check.list - фильтр списка директорий и файлов требующих проверки прав записи
    • array $list - список
  • geo.ip.location.region - фильтр реализующий возможность подключения другого провайдера определения региона по IP
    • bool|array $data - данные о регионе или false
    • string $ipAddress - IP адрес пользователя
    • string $provider - ключ провайдера указанный в системной настройке geo.ip.location.provider
  • errors.http.error - хук страницы HTTP ошибок (404, ...)
    • int $errorCode - ключ ошибки: 404, ...
    • array $data - данные об ошибке: title - заголовок, message - описание
    • string $template - название шаблона по-умолчанию