backend_marketing_promo_orders

Позволяет изменять содержимое списка заказов в свойствах промоакции и добавлять дополнительное содержимое в этот раздел.

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

Shop-Script

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

$params['page'] int Номер отображаемой в данный момент страницы списка заказов начиная с 1.
$params['orders'] array Список заказов в виде массива. Ключи массива — ID заказов.
$params['orders'][id] array Свойства отдельного заказа в виде массива со следующими ключами:
$params['orders'][id]['id'] int ID заказа.
$params['orders'][id]['contact_id'] int ID контакта покупателя.
$params['orders'][id]['create_datetime'] datetime Дата и время создания заказа.
$params['orders'][id]['update_datetime'] datetime Дата и время обновления заказа.
$params['orders'][id]['state_id'] string Идентификатор статуса заказа.
$params['orders'][id]['total'] float Стоимость заказа.
$params['orders'][id]['currency'] string 3-буквенное обозначение валюты заказа.
$params['orders'][id]['rate'] float Курс валюты заказа по отношению к основной валюте магазина.
$params['orders'][id]['tax'] float Размер рассчитанной суммы налога.
$params['orders'][id]['shipping'] float Стоимость доставки.
$params['orders'][id]['discount'] float Размер скидки.
$params['orders'][id]['paid_year'] int Номер года из даты оплаты заказа.
$params['orders'][id]['paid_quarter'] int Номер квартала года из даты оплаты заказа.
$params['orders'][id]['paid_month'] int Номер месяца из даты оплаты заказа.
$params['orders'][id]['paid_date'] date Дата оплаты заказа.
$params['orders'][id]['paid_datetime'] datetime Дата и время оплаты заказа.
$params['orders'][id]['is_first'] bool Признак первого оплаченного заказа покупателя.
$params['orders'][id]['comment'] string Комментарий к заказу.
$params['orders'][id]['courier_contact_id'] int|null ID контакта выбранного курьера.
$params['orders'][id]['id_encoded'] string Форматированный ID заказа.
$params['orders'][id]['total_formatted'] string Локализованное обозначение стоимости заказа в валюте, подготовленное для отображения в HTML-коде веб-страницы.
$params['orders'][id]['create_datetime_str'] string Локализованное обозначение даты и времени создания заказа.
$params['orders'][id]['paid_date_str'] string Локализованное обозначение даты оплаты заказа.
$params['orders'][id]['paid_datetime_str'] string Локализованное обозначение даты и времени оплаты заказа.
$params['orders'][id]['shipping_address_formatted'] string Локализованный адрес доставки, подготовленный для отображения в HTML-коде веб-страницы.
$params['orders'][id]['shipping_name'] string Название способа доставки.
$params['orders'][id]['shipping_name'] string Название способа оплаты.
$params['orders'][id]['payment_logo'] string Относительный URL способа оплаты.
$params['orders'][id]['payment_logo'] string Относительный URL способа оплаты.
$params['orders'][id]['items'] array Список заказанных товаров в виде массива.
$params['orders'][id]['items'][]['id'] int ID позиции заказа.
$params['orders'][id]['items'][]['name'] string Название позиции заказа.
$params['orders'][id]['items'][]['product_id'] int ID товара, которому соответствует позиция заказа.
$params['orders'][id]['items'][]['sku_id'] int ID модификации товара, которой соответствует позиция заказа.
$params['orders'][id]['items'][]['sku_code'] string Код артикула модификации товара, которой соответствует позиция заказа.
$params['orders'][id]['items'][]['type'] string Тип позиции заказа: 'product' (товар), 'service' (услуга).
$params['orders'][id]['items'][]['service_id'] int|null ID заказанной услуги.
$params['orders'][id]['items'][]['service_variant_id'] int|null ID варианта заказанной услуги.
$params['orders'][id]['items'][]['price'] float Стоимость позиции заказа.
$params['orders'][id]['items'][]['quantity'] float Количество позиции заказа.
$params['orders'][id]['items'][]['quantity_denominator'] int Доступная точность указания складских остатков заказанного товара: 1 (целые штуки), 10 (точность до десятых), 100 (точность до сотых), 1000 (точность до тысячных).
$params['orders'][id]['items'][]['parent_id'] int|null ID позиции с товаром, к которой относится заказанная услуга.
$params['orders'][id]['items'][]['stock_id'] int|null ID склада, выбранного для списания остатков заказанного товара.
$params['orders'][id]['items'][]['purchase_price'] float Закупочная цена заказанного товара.
$params['orders'][id]['items'][]['total_discount'] float Размер скидки, применённой к заказанному товару.
$params['orders'][id]['items'][]['tax_percent'] float|null Размер налоговой ставки, применённой к заказанному товару.
$params['orders'][id]['items'][]['tax_included'] bool Признак включения размера налога в цену заказанного товара.
$params['orders'][id]['items'][]['stock_unit_id'] int ID складской единицы измерения количества заказанного товара.
$params['orders'][id]['params'] array Параметры заказа в виде массива со следующими ключами:
$params['orders'][id]['params']['coupon_code'] string|null Название применённого купона.
$params['orders'][id]['params']['coupon_discount'] float|null Размер скидки по применённому купону.
$params['orders'][id]['params']['coupon_id'] int ID применённого купона.
$params['orders'][id]['params']['customer_timezone'] string Обозначение часового пояса покупателя.
$params['orders'][id]['params']['departure_datetime'] datetime Рассчитанные дата и время готовности заказа к отправке.
$params['orders'][id]['params']['ip'] string IP-адрес покупателя.
$params['orders'][id]['params']['landing'] string Относительный URL страницы, с которой покупатель начал посещение сайта.
$params['orders'][id]['params']['payment_id'] int ID выбранного способа оплаты.
$params['orders'][id]['params']['payment_name'] string Название выбранного способа оплаты.
$params['orders'][id]['params']['payment_plugin'] string Идентификатор плагина выбранного способа оплаты.
$params['orders'][id]['params']['reduced'] bool Признак списания складских остатков заказанных товаров.
$params['orders'][id]['params']['reduce_times'] int Количество раз списания складских остатков заказанных товаров в истории заказа.
$params['orders'][id]['params']['sales_channel'] string Обозначение канала продаж.
$params['orders'][id]['params']['shipping_address.city'] string Название населённого пункта в адресе доставки.
$params['orders'][id]['params']['shipping_address.country'] string 3-буквенное обозначение страны в адресе доставки.
$params['orders'][id]['params']['shipping_address.region'] mixed Код региона в адресе доставки.
$params['orders'][id]['params']['shipping_currency'] string 3-буквенное обозначение валюты стоимости доставки.
$params['orders'][id]['params']['shipping_currency_rate'] float Курс валюты стоимости доставки к основной валюте магазина.
$params['orders'][id]['params']['shipping_id'] int ID выбранного способа доставки.
$params['orders'][id]['params']['shipping_name'] string Название выбранного способа доставки.
$params['orders'][id]['params']['shipping_rate_id'] string Название выбранного варианта доставки.
$params['orders'][id]['params']['storefront'] string Адрес витрины, на котрой оформлен заказ.
$params['orders'][id]['params']['user_agent'] string Обозначение User-Agent браузера покупателя.
$params['orders'][id]['params']['utm_*'] string|null Значения UTM-меток.
$params['orders'][id]['contact'] array Информация о покупателе в виде массива со следующими ключами:
$params['orders'][id]['contact']['id'] int ID контакта покупателя.
$params['orders'][id]['contact']['name'] string Имя покупателя.
$params['orders'][id]['contact']['is_company'] bool Признак покупателя-компании.
… код плагина …

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

{$backend_marketing_promo_orders.top}
Дополнительное содержимое в верхней части вкладки со списком заказов промоакции. Например, блок с информацией или фрагмент JavaScript-кода.
Shop-Script

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

PHP

public function backendMarketingPromoOrders(&$params)
{
    $new_customers_orders_count = 0;
    $counted_customers = [];

    foreach ($params['orders'] as &$order) {
        $customer_contact_id = $order['contact_id'];

        if (empty($counted_customers[$customer_contact_id])) {
            $counted_customers[$customer_contact_id] = true;

            $customer = new shopCustomer($customer_contact_id);
            $customer_orders_count = $customer->getCustomerData('number_of_orders');

            if ($customer_orders_count == 1) {
                $order['style'] .= 'text-transform: uppercase;';
                $new_customers_orders_count++;
            }
        }
    }

    return [
        'top'  => '<div class="box custom-p-8 highlighted">'
            . sprintf_wp('Number of new customers’ orders: %d', $new_customers_orders_count)
            . '</div>',
    ];
}