Пишем обработчик события

Обработчик события представляет собой обычный метод, прописанный в одной из библиотек модуля.

Для примера, рассмотрим создание пользовательского метода-обработчика события comments_message_post_do. Пользовательские методы должны быть прописаны в файл customMacros.php в директории модуля.

Ранее мы назначили обработчик события comments_message_post_do - это метод onAddComment. Реализуем этот метод в customMacros.php:

<?php
 class CommentsCustomMacros {
 ...
  public function onAddComment(iUmiEventPoint $oEventPoint) {
   if ($oEventPoint->getMode() != "after") {
return;
} // берем необходимые параметры $iCommentId = $oEventPoint->getParam("message_id"); // получаем объект "Комментарий" $oComment = umiHierarchy::getInstance()->getElement($iCommentId); if ($oComment instanceof umiHierarchyElement) { // формируем письмо $oMyMail = new umiMail(); $oMyMail->setFrom("mailer@example.com", "mailer"); $oMyMail->setSubject("Добавлен новый комментарий"); $oMyMail->setContent($oComment->getValue("message")); $oMyMail->addRecipient("admin@example.com", "Admin"); // отправляем письмо $oMyMail->commit(); } } ... } ?>

Готово! При добавлении нового комментария администратору отправляется письмо с текстом комментария. При желании Вы можете добавить туда ссылку на редактирование комментария, информацию об авторе и т.п.