K4:Отсылка почтового извещения
From In-Portal Developers Guide
| ||
---|---|---|
Статьи в этой категории | ||
|
Для отсылки сообщений по электронной почте в K4 используется механизм почтовых извещений (email events). Все отправленные почтовые извещения попадают в журнал отправленных почтовых извещений ("Summary & Logs -> Email Log"
). Этот журнал позволяет администраторам сайта понять что, когда и кому было отослано системой.
Contents |
Создание почтового извещения
Новое почтовое извещение создаётся посредством добавления записи в таблицу Events. В проектах, основанных на Platform все почтовые извещения принадлежат модулю "Proj-CMS
" и отсылаются только с Front-End. Исходя из выше сказанного добавление нового почтового извещения сводиться к выполнению следующего sql запроса:
INSERT INTO Events VALUES (DEFAULT, 'EVENT.NAME', DEFAULT, 1, 0, 'Proj-CMS', 'la_event_event.name', 0);
Далее требуется пойти в секцию "Configuration -> Regional
" и для каждого требуемого языка сделать:
- начать редактирование языка;
- пойти на вкладку "
Email Events
"; - найти добавленное ранее почтовое извещение;
- ввести начальное содержание почтового извещения.
В дальнейшем текст данного почтового извещения можно будет изменить в секции "Content Management -> E-mails
" (только для Platform). Для изменения почтовых сообщений и фраз можно также воспользоваться ранее упомянутой секцией "Configuration -> Regional
", т.к. она предоставляет более гибкий интерфейс по сравнению с ранее упомянутой секцией.
Отсылка почтового извещения
Для отсылки ранее созданного почтового извещения существуют 2 метода объекта $this->Application
:
-
EmailEventUser
- отсылает почтовое извещение указанному пользователю (только извещения с типомFront-End
); -
EmailEventAdmin
- отсылает почтовое извещение администратору сайта (только извещения с типомAdmin
).
Оба выше перечисленных метода принимают 3 параметра:
название | описание |
---|---|
$email_event_name (string) | Название почтового извещения, которое будет послано. |
$to_user_id (int) | ID пользователя, которому будет послано извещение (учитывается только для извещений с типом Front-End ).
|
$send_params (array) | Дополнительные параметры, позволяющие изменять отправителя и получателя почтового извещения в независимости от настроек почтового извещения и указанного ID пользователя. Значения всех указанные в этом массиве параметров будут в дальнейшем доступны в тексте почтового извещения через тэг m_Param (param_name - это ключ в данном массиве):
<inp2:m_Param name="param_name"/> При помощи следующих дополнительных параметров можно менять отправителя и получателя почтового извещения:
|
Использование FCKEditor
Если для ввода текста почтового извещения используется FCKEditor, то он стирает все не HTML тэги из текста почтового извещения. FCKEditor научить нельзя, поэтому для решения данной проблемы нужно использовать тэги замещения, описанные выше.
Если текст почтового извещения будет содержать HTML тэги, то рекомендуется следующее:
- создать физический шаблон, напр. "
test.tpl
"; - оформить содержание данного шаблона так, чтобы оно удовлетворяло поставленному заданию;
- подготовить массив тэгов замещения, состоящий из всех "
<inp2:
" тэгов данного шаблона; - заменить все тэги в шаблоне на их эквиваленты из массива с тэгами замещения;
- вставить ранее подготовленный массив из тэгов замещения в базу данных;
- скопировать получившееся содержание шаблона в поле для ввода текста почтового извещения.