backend_marketing_promo

Позволяет модифицировать и добавлять дополнительное содержимое на страницу просмотра и редактирования промоакции в разделе «Маркетинг».

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

Shop-Script

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

$params['options'] array|null Значение GET-параметра options.
$params['promo'] array Свойства промоакции в виде массива со следующими ключами:
$params['promo']['id'] int ID промоакции.
$params['promo']['name'] string Название промоакции.
$params['promo']['enabled'] bool Флаг, означающий статус промоакции.
$params['promo']['start_datetime'] datetime|null Дата и время начала действия промоакции.
$params['promo']['finish_datetime'] datetime|null Дата и время окончания действия промоакции.
$params['promo']['author_contact_id'] int|null ID пользователя, создавшего промоакцию. Или NULL, если промоакция была создана автоматически во время установки Shop-Script.
$params['promo']['create_datetime'] datetime|null Дата и время создания промоакции. Или NULL, если промоакция была создана автоматически во время установки Shop-Script.
$params['promo']['routes'] array Список витрин, доступных для выбора в настройках промоакции. Ключи массива — адреса витрин без символа «*» в конце. Ключ %all% означает выбор всех витрин.
$params['promo']['rules'] array Список инструментов промоакции. Каждый элемент списка — массив со следующими ключами:
$params['promo']['rules'][]['id'] int ID инструмента.
$params['promo']['rules'][]['promo_id'] int ID промоакции.
$params['promo']['rules'][]['rule_type'] string Обозначение типа инструмента: 'banner' (баннер), 'custom_price' (товары и цены), 'utm' (UTM-метки), 'coupon' (купоны).
$params['promo']['rules'][]['rule_params'] array Параметры инструмента. У каждого типа инструментов свой набор доступных параметров
$params['overall_totals'] array Итоговые значения всех заказов, полученных с витрин, участвующих в промоакции, в виде массива со следующими ключами:
$params['overall_totals']['order_count'] int Количество заказов.
$params['overall_totals']['new_customer_count'] int Количество привлечённых новых покупателей.
$params['overall_totals']['profit'] float Прибыль.
$params['overall_totals']['sales'] float Выручка.
$params['overall_totals']['purchase'] float Закупочная стоимость заказанных товаров.
$params['overall_totals']['shipping'] float Стоимость доставки.
$params['overall_totals']['tax'] float Сумма налогов.
$params['overall_totals']['avg_order'] float Средняя прибыль заказа.
$params['promo_totals'] array Итоговые значения промоакции в виде массива со следующими ключами:
$params['promo_totals']['order_count'] int Количество заказов.
$params['promo_totals']['new_customer_count'] int Количество привлечённых новых покупателей.
$params['promo_totals']['profit'] float Прибыль.
$params['promo_totals']['sales'] float Выручка.
$params['promo_totals']['purchase'] float Закупочная стоимость заказанных товаров.
$params['promo_totals']['shipping'] float Стоимость доставки.
$params['promo_totals']['tax'] float Сумма налогов.
$params['promo_totals']['avg_order'] float Средняя прибыль заказа.
$params['promo_totals']['sales_percent'] float Доля выручки по заказам в рамках промоакции по отношению к выручке по заказам со всех витрин, выбранных в настройках промоакции (в процентах).
$params['promo_totals']['order_count_percent'] float Доля количества заказов в рамках промоакции по отношению к количеству заказов со всех витрин, выбранных в настройках промоакции (в процентах).
$params['promo_totals']['avg_order_percent'] float Доля средней прибыли по заказам в рамках промоакции по отношению к средней прибыли по заказам со всех витрин, выбранных в настройках промоакции (в процентах).
$params['promo_totals']['expense'] float Стоимость затрат на маркетинг, связанных с промоакцией.
$params['promo_totals']['roi'] float Показатель ROI.
$params['chart_data'] array Список значений для формирования графика на странице промоакции. Каждый элемент списка — массив со следующими ключами:
$params['chart_data'][]['date'] date Дата, за которую должно быть показано очередное значение.
$params['chart_data'][]['sales'] float Размер продаж в рамках промоакции.
$params['chart_data'][]['total_sales'] float Общий размер продаж.
$params['storefronts'] array Список адресов витрин, доступных для выбора в настройках промоакции.
$params['rule_types'] array Список инструментов, доступных в настройках промоакции. Каждый элемент списка — массив со следующими ключами:
$params['rule_types'][rule_type]['type'] string Обозначение типа инструмента.
$params['rule_types'][rule_type]['name'] string Локализованное название инструмента.
$params['rule_types'][rule_type]['css_class'] string CSS-класс для отображения иконки инструмента в интерфейсе.
$params['rule_types'][rule_type]['max_count'] int Максимальное количество экземпляров инструмента, допустимое в настройках промоакции.
… код плагина …

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

{$backend_marketing_promo.action_link}
Дополнительное содержимое рядом со ссылками для выполнения действий с промоакцией. Например, HTML-код ссылок дополнительных действий.
{$backend_marketing_promo.info_section}
Дополнительное содержимое под списком полей настроек промоакции. Например, HTML-код ссылок дополнительных полей настроек.
{$backend_marketing_promo.button}
Дополнительное содержимое рядом с кнопкой сохранения промоакции. Например, HTML-код дополнительных кнопок.
{$backend_marketing_promo.bottom}
Дополнительное содержимое в нижней части страницы промоакции. Например, блок с информацией или фрагмент JavaScript-кода.
Shop-Script

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

PHP

public function backendMarketingPromo($params)
{
    $promo_settings = $params['promo'];

    return [
        'action_link'  => '<span id="' . $this->id . '-action" class="button light-gray rounded custom-ml-16"><i class="fas fa-user text-blue"></i> ' . _wp('Custom promo action') . '</span>',
        'info_section' => waHtmlControl::getControl(waHtmlControl::INPUT, 'custom_field', [
            'namespace' => $this->id,
            'title' => _wp('My custom field'),
            'control_wrapper' => '<div class="field"><div class="name">%s</div><div class="value">%s%s</div></div>',
            'title_wrapper' => '%s',
            'value' => $promo_settings['name'],
        ]),
        'button'       => '<button class="button blue outlined">' . _wp('My plugin’s button') . '</button>',
        'bottom'       => '<div class="box highlighted custom-p-8">' . _wp('My plugin’s bottom block.') . '</div>',
    ];
}