Jump to content

Отправка уведомлений пользователям

Создание расширения

Первым шагом является создание расширения уведомлений. В Центре разработчика для вашего приложения перейдите на вкладку Extensions > Core и нажмите кнопку "+" справа от пункта Notifications. Будет создан файл в директории вашего приложения extensions/core/Notifications с изначальным скелетом. Откройте этот файл и следуйте инструкциям в нем, чтобы добавить свои типы уведомлений на страницу Настройки уведомлений и создать метод (-ы), который будет контролировать то, что будет отображено пользователю, когда он кликнет на иконку уведомлений в шапке сайта.

Создание e-mail шаблона

Вы должны создать e-mail шаблоны для тех случаев, когда пользователь включил возможность получать e-mail письма при получении уведомления. Следуйте инструкциям, приведенным в шагах 1-2 руководства по отправке e-mail сообщений. Для ваших шаблонов в качестве ключа используйте notification_key, где key это ключ уведомления, указанный вами в методе getConfiguration()). Например: тип уведомления new_status (в приложении core) использует e-mail шаблоны notification_new_status, которые для этого объекта используют строку языка mailsub__core_notification_new_status.

Отправка уведомления

Фактический код для отправки уведомления очень прост:

$notification = new \IPS\Notification( \IPS\Application::load('app'), 'key', $item, $params ); 
$notification->recipients->attach( \IPS\Member::load(1) ); 
$notification->send();
  • $item - Должен быть объект того, о чём отправляется уведомление, что используется для предотвращения отправки одного и того же уведомления более одного раза или NULL, если это не применимо. Если это элемент контента (не обязательно, но будем так считать), уведомление автоматически удалит получателя, если у него нет разрешения на чтение элемента или игнорируется пользователь, который его опубликовал.
  • $params - Любые параметры, которые вы хотите передать шаблону электронной почты.

Вы вызываете $notification->recipients->attach() для каждого пользователя, которому хотите отправить уведомление, передавай объект \IPS\Member.




Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy