recipients.form

Позволяет добавлять собственные варианты выбора получателей рассылки. См. также описание хука recipients.prepare.

Доступно начиная с версии 1.0.4.

Рассылки

Входящие параметры (передаются по ссылке)

$params['campaign'] array Массив свойств сообщения со следующими ключами:
$params['campaign']['id'] int ID сообщения.
$params['campaign']['body'] string Текст сообщения.
$params['campaign']['count_products'] int Количество блоков для отображения товаров Shop-Script в шаблоне, на основе которого было составлено сообщение.
$params['campaign']['create_contact_id'] int ID пользователя, который создал черновик сообщения.
$params['campaign']['create_datetime'] datetime Дата и время создания черновика сообщения в формате «гггг-мм-дд чч:мм:сс».
$params['campaign']['from_email'] string Email-адрес отправителя.
$params['campaign']['from_name'] string Имя отправителя.
$params['campaign']['rebody'] string Исходный код сообщения в формате, используемом визуальным редактором.
$params['campaign']['reply_to'] string Адрес Reply-To.
$params['campaign']['return_path'] string Адрес Return-Path.
$params['campaign']['sender_id'] int ID отправителя, выбранного в настройках сообщения.
$params['campaign']['subject'] string Тема сообщения.
$params['recipients'] array<mixed> Массив ранее выбранных списков получателей. Ключи массива — числовые идентификаторы списков получателей, значения — обозначения списков получателей, используемые теми приложениями или плагинами, которые предоставили эти списки для использования в «Рассылках».
$params['recipients_groups'] array Список вариантов выбора получателей, предоставляемых другими приложениями и плагинами, который можно изменять по ссылке. Строковые ключи добавляемых плагином новых элементов массива должны начинаться с идентификатора плагина. Каждый добавляемый элемент должен представлять собой массив со следующими ключами:
$params['recipients_groups'][]['name'] string Локализованное название способа выбора получателей.
$params['recipients_groups'][]['content'] string HTML-код формы выбора получателей, которая открывается при выборе этого способа.
$params['recipients_groups'][]['opened'] bool Флаг, обозначающий, что группа вариантов выбора получателей раскрыта по умолчанию.
$params['recipients_groups'][]['included_in_all_contacts'] bool Флаг, обозначающий недоступность для выбора варианта выбора получателей, если уже выбран вариант «Все контакты».
… код плагина …

Результат работы плагина

Рассылки

Пример кода плагина

PHP

public function recipientsForm(&$params)
{
    $controls = [
        'add_values' => [
            'control_type' => waHtmlControl::GROUPBOX,
            'title' => _wp('My recipients'),
            'options' => [
                [
                    'title' => _wp('Option 1'),
                    'value' => 'myplugin/qwe',
                ],
                [
                    'title' => _wp('Option 2'),
                    'value' => 'myplugin/asd',
                ],
            ],
        ],
    ];

    $html = array_reduce(array_keys($controls), function($result, $control_name) use ($controls) {
        $result .= waHtmlControl::getControl($controls[$control_name]['control_type'], $control_name, $controls[$control_name] + [
            'control_wrapper' => '<div class="field"><div class="name">%s</div><div class="value">%s%s</div></div>',
            'title_wrapper' => '%s',
        ]);

        return $result;
    }, '');

    $html = '<div class="fields">' . $html . '</div>';

    $params['recipients_groups'][] = [
        'name'    => _wp('My recipients'),
        'content' => $html,
    ];
}