+7 495 008 8452 пн.-пт. 10:00 – 17:00

Intensa: Расширение правил работы с корзиной

от Intensa

Технические данные

Дата публикации:
04.07.2024
Версия:
1.0.0
Адаптивность:
Нет
Поддержка композита:
Нет
Число установок:
Менее 50 раз

Описание

Модуль добавляет дополнительные условия для правил работ с корзиной.

После установки будут добавлены следующие условия:
  • Результат вызова callback-функции — предназначен для указания функции. В параметре функции будет передан массив данных по заказу\корзине.
  • PHP выражение — позволяет задать произвольный PHP-код.
  • День рождения пользователя — позволяет задать скидку в день рождения пользователя. Также можно указать, чтобы скидка начала действовать немного заранее, до начала дня рождения, и закончилась позже.
  • По времени — позволяет задать скидку, которая будет действительна только в заданный период времени в течение дня.
  • Время с даты регистрации пользователя — проверка на количество времени, прошедшего со дня регистрации пользователя.
  • Время с даты оформления последнего заказа — проверка на заданное количество времени, прошедшего с даты оформления последнего заказа.
  • Количество заказов — проверка на общее количество оформленных, но не отмененных заказов пользователя.
  • Количество оплаченных заказов — проверка на количество выкупленных заказов (проверка флага оплачен и не отменен).
Скачайте и установите модуль.

После установки модуля для правил работы с корзиной будут добавлены новые дополнительные условия:



Все условия предназначены для повышения лояльности ваших клиентов.

Результат вызова callback-функции — выводит поле для ввода, где следует указать функцию или метод класса.

В параметре функции будет передан массив данных по заказу\корзине. Примерный вид такого массива следующий:
array (
    'ID' => 0,
    'USER_ID' => '1',
    'USER_GROUPS' => [...],
    'SITE_ID' => 's1',
    'LID' => 's1',
    'ORDER_PRICE' => 8393.0,
    'ORDER_WEIGHT' => 0.0,
    'CURRENCY' => 'RUB',
    'PERSON_TYPE_ID' => 1,
    'BASKET_ITEMS' => [...],
    'ORDER_PROP' => [...],
    'DELIVERY_LOCATION' => '0000073738',
    'DELIVERY_LOCATION_ZIP' => '101000',
    'BASE_PRICE_DELIVERY' => 0,
    'PRICE_DELIVERY' => 0,
    'PRICE_DELIVERY_DIFF' => 0,
    'DELIVERY_ID' => 0,
    'SHIPMENT_ID' => 0,
    'PAY_SYSTEM_ID' => 0
)
В функции можно реализовать, к примеру, скидку по местоположению. Выглядеть может так (ваш вариант, конечно, будет лучше):
function checkDiscountByOrder($arOrder) {
    if (!is_array($arOrder)) {
        return false;
    }
    if (!\Bitrix\Main\Loader::includeModule('sale')) {
        return false;
    }

    $orderPropLocation = 6; // ID свойства заказа местоположения
    $locationCode = $arOrder['ORDER_PROP'][$orderPropLocation]; // Текущее значение местоположения

    $moscowAreaCode = ['0000073738', '0000028025']; // Код города Москва и московская область
    $iterator = \Bitrix\Sale\Location\LocationTable::getList([
        'filter' => ['=CODE' => $moscowAreaCode],
        'select' => ['CODE', 'LEFT_MARGIN', 'RIGHT_MARGIN']
    ]);

    while ($area = $iterator->fetch()) {
        $res = \Bitrix\Sale\Location\LocationTable::getList([
            'filter' => [
                '=CODE' => $locationCode,
                '>=LEFT_MARGIN' => $area['LEFT_MARGIN'],
                '<=RIGHT_MARGIN' => $area['RIGHT_MARGIN']
            ],
            'select' => ['CODE', 'LEFT_MARGIN', 'RIGHT_MARGIN'],
            'limit' => 1
        ]);

        if ($res->fetch()) {
            return true;
        }
    }
    return false;
}
Результат выполнения функции должен быть булевым значением (true\false).

PHP-выражение — выводит поле для ввода простенького PHP-выражения или функции. При указании функции в нее не будут передаваться параметры, в отличие от предыдущего параметра.

Результат выполнения кода должен быть булевым значением (true\false).

День рождения пользователя — позволяет задать скидку в день рождения пользователя. Также можно указать, чтобы скидка начала действовать немного раньше и закончилась позже. Чтобы скидка действовала только в день рождения, следует указать 0. Все мы любим получать подарки, а дарить их еще приятнее.


По времени — позволяет задать скидку, которая будет действительна только в заданный период времени в течение дня. Получаем возможность задать ночную скидку. Поощрим, кто не спит у вас на сайте?


Количество заказов — проверка на общее количество оформленных, но не отмененных заказов пользователя. Клиент стесняется оформить заказ, возможно, он ждет скидку?


Количество оплаченных заказов — проверка на количество оплаченных заказов (проверка флага оплачен и не отменен). Может пора особенно наградить постоянных покупателей?


Время с даты регистрации пользователя — проверка на количество времени, прошедшего со дня регистрации пользователя. У вас новый клиент? Или хотите поощрить того, с кем только начинали свой путь? Тогда это именно то, что нужно.


Время с даты оформления последнего заказа — проверка на заданное количество времени, прошедшего с даты оформления последнего заказа. Пора напомнить о себе клиенту, что есть место, где его ждут.


Учтите!

Модуль не проверяет, авторизован ли пользователь или это анонимный пользователь. Это следует ограничивать на другой вкладке через группы пользователей при создании правила работы с корзиной.

Удачного пользования! Станьте ближе для покупателя используя функционал модуля.

Поддержка (вопросы, ошибки, идеи) осуществляется по электронной почте support24@intensa.ru

Режим работы: 09:00-18:00 по московскому времени.
Время реакции на обращение: 48 часов.
Выходные дни: суббота и воскресенье.

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: https://www.site.ru
Intensa: Расширение правил работы с корзиной
Intensa: Расширение правил работы с корзиной
6 000 руб