-
Notifications
You must be signed in to change notification settings - Fork 35
Email Types
Модуль почтовых событий в KodiCMS позволяет не ограничиваться стандартными системными уведомлениями по email, а создавать свои типы событий и использовать их при разработке модулей или плагинов.
Принцип работы модуля прост, к каждому почтовому событию можно прикрепить любое кол-во почтовых шаблонов. При вызове почтового события в него передается массив значений с ключами, которые передаются в связанные почтовые шаблоны, подстановка в почтовые шаблоны этих значений и отправка адресату.
- Создается новый тип почтового события, главным параметром является код события, он должен быть уникальным и будет использоваться при вызове этого события в своем коде.
- Указываются названия полей, которые это событие будет передавать в почтовый шаблон. Эти поля в основном используются только в почтовых шаблонах для удобного заполнения полей.
Обратите внимание в почтовом шаблоне мы используем те поля, которые были добавлены в почтовом событии в фигурных скобках, в последствии они будут заменены на те значения, что будут переданы в момент вызова почтового события.
Для вызова почтового события в своем модуле, плагине и т.д. необходимо вставить PHP код
// Параметры новости, на которые в шаблоне будут заменены теги в фигурных скобках
$post_data = array(
'header' => 'Наша первая новость',
'description' => 'Описание нашей первой новости',
'link' => '/news/2.html',
'date_created' => '1 января 2014г.'
);
// 'news_mailing' - Код события
Email_Type::get('news_mailing')->send( array $post_data );
$email_type = ORM::factory('email_type', array('code' => 'email_type_code'));
if( ! $email_type->loaded())
{
$email_type
->values(array(
'code' => 'email_type_code', // Код события
'name' => 'Почтовое событие' // Название события
))
->create();
}
$email_type_fields = array(
'header' => 'Заголовк',
'desription' => 'Описание',
'....' => '...',
...
);
$email_type
->set('data', $email_type_fields)
->update();