Принцип работы
Чтобы достигнуть цели (скрытие способов доставки или оплаты), должны быть выполнены все условия или их часть.
Входными и выходными данными являются товары из корзины. Даже если проверяется день недели, то в случае его совпадения, результатом будет массив товаров.
Если после проверки всех условий остались товары, значит условия сработали и можно скрывать нужные Вам способы оплаты или доставки.
Приоритет проверки условий
Условия проверяются согласно их приоритету, а не по порядку следования.
Приоритет проверки условий (по категориям):
- Пользователь, Выполненные заказы, Дата и время, Переменные, Витрина
- Товар
- Корзина
Система условий
Если создано более одного условия, то перед Вами образуется система условий.
Система условий может быть:
- Строгой: все условия должны быть выполнены.
От начала и до конца фильтруется один набор товаров. Если после всех условий товаров не остается, значит условия не могут быть выполнены, и фильтр не сработает. - Не строгой: хотя бы одно условие должно быть выполнено.
Каждое условие работает с полным (новым) набором товаров. Условия не влияют друг на друга.
Группа условий
Группа условий дает возможность объединять несколько систем условий. В каждой группе сохраняются правила приоритета. Набор данных на входе, обрабатываемый в группах, каждый раз полный (новый).
Если в фильтре присутствует группа условий и обычные условия, то сначала будет обработана группа.
Примеры
Предположим, что заказ оформляет зарегистрированный пользователь. Состав его корзины:
- Товар А: 5000р/шт - 5 шт. Итого - 25 000р. Вес 3 кг.
- Товар Б: 4000р/шт - 5 шт. Итого - 20 000р. Вес 9 кг.
- Товар В: 7000р/шт - 3 шт. Итого - 21 000р. Вес 50 кг.
- Товар Г: 10 000р/шт - 4 шт. Итого - 40 000р. Вес 52 кг.
Пример 1
Проследим процесс обработки условий:
- Обрабатывается группа со строгими условиями.
На входе 4 товара. Сначала будет обработано условие из второй группы приоритета, затем из третьей.
"Характеристика товара Вес >= 50" - означает, что мы отбираем только те товары, у которых вес больше 50 кг. В нашем случае это товары В и Г. Условие выполнено.
"Сумма значений характеристики Вес > 100" - означает, что общий вес отобранных товаров должен быть более 100кг. Товар В + Товар Г = 50 кг * 3 шт + 52 кг * 4 шт = 358 кг. Условие выполнено.
"Общее кол-во всех товаров > 5" - мы считаем количество товаров В и Г. Значение равно 7. Условие выполнено. Группа условий выполнена. - Обрабатываем другие условия. На входе 4 товара + 2 товара, которые вернула группа. Поскольку эти товары уже имеются в наборе, то на входе так и остается 4 товара.
ПРИМЕЧАНИЕ: Если бы группа условий не была бы выполнена, то весь фильтр бы не сработал. - Сначала будет обработано условие из первой группы приоритета, затем из третьей.
"Категорий пользователя равно Магазин" - Условие выполнено, поскольку мы уточнили, что заказ оформляет зарегистрированный пользователь.
"Общая стоимость всех товаров > 100 000" - Сумма всех товаров равна 106 000р. Условие выполнено. - Все условия выполнены. Значит Фиксированная стоимость доставки и оплата через PayPal будут скрыты для данного пользователя на этапе оформления заказа.
ВАЖНО! С товарами ничего не случится вне зависимости от того сработает фильтр или нет.
Пример 2
Посмотрим, как сработает фильтр, если не использовать группу условий.
-
На входе 4 товара.
Порядок обработки условий:
"Категорий пользователя равно Магазин" - Условие выполнено, поскольку мы уточнили, что заказ оформляет зарегистрированный пользователь.
"Характеристика товара Вес >= 50" - означает, что мы отбираем только те товары, у которых вес больше 50 кг. В нашем случае это товары В и Г. Условие выполнено.
"Сумма значений характеристики Вес > 100" - означает, что общий вес отобранных товаров должен быть более 100кг. Товар В + Товар Г = 50 кг * 3 шт + 52 кг * 4 шт = 358 кг. Условие выполнено.
"Общее кол-во всех товаров > 5" - мы считаем количество товаров В и Г. Значение равно 7. Условие выполнено.
"Общая стоимость всех товаров > 100 000" - Сумма товаров В и Г равна 61 000р. Условие НЕ выполнено. - Одно из условий не выполнено. Фильтр не сработает и способы доставки и оплаты не будут скрыты.
ВАЖНО! С товарами ничего не случится. Состав корзины по-прежнему такой же.