Категории

Scoder: Произвольное PHP условие правил работы с корзиной. Свои (кастомные) условия в скидках

Описание

Гибкие скидки без ограничений: как добавить свои PHP-условия в корзину Битрикс

Стандартные механизмы скидок в 1С-Битрикс позволяют настраивать акции по категориям, цветам, названиям и другим полям. Но что делать, когда маркетинговая задача выходит за рамки готовых фильтров? Например, нужно дать разную скидку по одному купону в зависимости от суммы корзины или применить наценку при выборе конкретного пункта самовывоза. Модуль «Scoder: Произвольное PHP условие правил работы с корзиной» решает именно такие нестандартные сценарии. Он добавляет в стандартное правило работы с корзиной дополнительное условие — произвольное PHP-выражение. Вы пишете логику, возвращаете true или false, и скидка применяется или отменяется в точном соответствии с вашим замыслом.

Этот инструмент не заменяет стандартные возможности платформы, а дополняет их. Вы по-прежнему создаёте обычное правило, указываете нужные товары, группы пользователей или купоны. А в дополнительных условиях подключаете свою функцию. Такой подход особенно ценен для разработчиков, которые хотят избежать сложных доработок ядра и быстро реализовать уникальные акции. В результате вы получаете полный контроль над логикой скидок без необходимости писать модули с нуля.

Как это работает: от функции в init.php до готового правила

Принцип работы модуля максимально прозрачен и требует минимальных усилий. Вы подготавливаете PHP-функцию в файле init.php вашего сайта. Внутри функции прописываете любую логику: проверяете состав корзины, дату, свойства товаров, данные пользователя или результаты опроса. Главное — чтобы функция возвращала true (скидка применяется) или false (скидка не действует). Затем в настройках правила корзины указываете имя этой функции, и модуль автоматически вызывает её при расчёте скидок.

Разработчики модуля рекомендуют именно такой подход с отдельной функцией, а не встраивание сложного выражения прямо в поле условия. Это снижает риск ошибок, упрощает отладку и позволяет переиспользовать одну и ту же логику в разных правилах. Например, функция __sc_check() может проверять сразу несколько условий: есть ли в корзине товар из определённой категории, превышает ли сумма 5000 рублей и не использовал ли этот пользователь купон ранее. Всё это описывается обычным PHP-кодом, без танцев с бубном и кастомных обработчиков.

Реальные сценарии: от одноразовых купонов до скидок после опроса

С помощью модуля можно решать задачи, которые раньше требовали серьёзной переработки сайта или вообще считались невозможными. Вот несколько примеров из практики авторов. Первый — разные скидки по одному купону. Вы выпускаете один промокод, но размер скидки меняется в зависимости от общей стоимости товаров в корзине или количества позиций. Клиент получает 5% при заказе до 3000 рублей и 10% — при заказе от 3000. И всё это без создания десятков дублирующих правил.

Второй популярный сценарий — ограничение использования купона одним пользователем. Стандартные средства Битрикс позволяют сделать купон одноразовым для всех, но не дают разрешить одному клиенту применять его многократно, а другому — нет. Модуль решает и это: вы прописываете условие, которое проверяет ID пользователя и количество уже использованных купонов. Третий пример — отмена всех скидок, если в корзине уже есть товар с ручной скидкой или применён другой промокод. Такая логика часто нужна в сложных маркетинговых программах, где акции не должны суммироваться.

Индивидуальный подход: скидки для каждого клиента и учёт праздников

Модуль открывает возможности для персонализации, которые обычно доступны только в дорогих CRM-системах. Вы можете настроить индивидуальную скидку для каждого зарегистрированного пользователя на основе его истории покупок, группы или даже данных из внешней базы. Для этого достаточно, чтобы функция проверяла ID пользователя и возвращала нужный процент скидки. Аналогично можно привязать акцию к дате: сделать скидку на день рождения клиента, на новогодние праздники или на конкретную дату запуска товара.

Ещё одна полезная возможность — скидки с учётом результатов опроса или голосования. Например, после прохождения анкеты пользователю присваивается определённое свойство, и модуль проверяет его перед применением скидки. Точно так же можно управлять наценками при выборе точек самовывоза: если клиент выбирает удалённый пункт выдачи, стоимость доставки компенсируется скидкой на товары. Все эти сценарии реализуются без переписывания стандартных модулей корзины и заказа.

Поддержка от разработчиков и минимум бюрократии

В отличие от многих коробочных решений, модуль «Scoder» предлагает прямую техническую поддержку без посредников. Вы общаетесь напрямую с разработчиками, которые знают продукт изнутри и могут оперативно помочь с настройкой нестандартных условий. Также доступна документация и тематические статьи, которые помогут разобраться в типовых примерах. Если вы столкнулись с задачей, которой нет в списке, — свяжитесь с авторами, они часто подсказывают готовые решения или дорабатывают функционал под конкретные нужды.

Модуль не претендует на звание «универсальной таблетки», но он действительно упрощает жизнь разработчикам. Вместо того чтобы каждый раз изобретать велосипед и писать сложные обработчики событий, вы просто добавляете одно условие в стандартное правило. Это экономит часы работы и снижает риск ошибок. Если вы устали от ограничений стандартных скидок Битрикс и хотите гибкости без лишних затрат, этот модуль — то, что вам нужно.

Часто задаваемые вопросы

Scoder: Произвольное PHP условие правил работы с корзиной. Свои (кастомные) условия в скидках
5 900 ₽
4 / 5
3 отзыва 42 обсужденией

Характеристики

Версия 1.0.7
Добавлен 18.11.2017
Обновлён 17.01.2024
Установок 500 - 999 раз
Код scoder.phpcondition
Адаптивный Нет
Composite Нет