Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

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

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

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

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

Купить: 6 000 руб.
Попробовать (3 дня)
от Intensa
Скриншоты
Описание

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

Опубликовано:
04.07.2024
Версия:
1.0.0
Установлено:
Менее 50 раз
Подходящие редакции:
«Малый бизнес», «Бизнес»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет
Совместимо с PHP 8.1
Да

Пользовательское соглашение

Описание

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

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

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



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

Результат вызова 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 часов.
Выходные дни: суббота и воскресенье.

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки