Виктор Виноградов, к сожалению нельзя и данную логику придется делать в обход маркетинговых акций.
Дело в том, что акция применяется либо 1 раз либо не применяется вообще. То есть, если за покупку 3х товаров вы получили 1 подарок, то если вы купите еще 3 товара (т.е. всего 6), то не сможете получить 2 подарка.
К тому же, Вы не можете сделать акцию купи 3 и получи 4 в подарок (баг зарегистрирован в 2017 году вроде как и до сих пор не исправлен).
Если Вы хотите реализовать подарки, то рекомендую сделать следующим образом (мы так делали у нашего клиента):
1) Создаете акцию на получение подарка, но в условие добавляете заведомо невыполнимое. Обязательно проставляете XML_ID (внешний код)
2) Через API парсите все активные скидки с нужными внешними кодами и формируете список на выдачу. Выводите его в публичной части.
3) Пишете скрипт который проверяет корзину пользователя на соответствие правилам
4) Создаете свой провайдер для таких товаров
5) Подписываетесь на событие сохранения заказа, проверяете условие выполнения акции и добавляете подарок в корзину и отгрузки.
6) Создаете отдельное поле на хранение выбранных пользователем подарков (в случае пересчета заказа менеджером). И при сохранении в обработчике (п.5) учитываете этот список.
Распиливать не придется, но процесс достаточно трудоемкий.
Дело в том, что акция применяется либо 1 раз либо не применяется вообще. То есть, если за покупку 3х товаров вы получили 1 подарок, то если вы купите еще 3 товара (т.е. всего 6), то не сможете получить 2 подарка.
К тому же, Вы не можете сделать акцию купи 3 и получи 4 в подарок (баг зарегистрирован в 2017 году вроде как и до сих пор не исправлен).
Если Вы хотите реализовать подарки, то рекомендую сделать следующим образом (мы так делали у нашего клиента):
1) Создаете акцию на получение подарка, но в условие добавляете заведомо невыполнимое. Обязательно проставляете XML_ID (внешний код)
2) Через API парсите все активные скидки с нужными внешними кодами и формируете список на выдачу. Выводите его в публичной части.
3) Пишете скрипт который проверяет корзину пользователя на соответствие правилам
4) Создаете свой провайдер для таких товаров
5) Подписываетесь на событие сохранения заказа, проверяете условие выполнения акции и добавляете подарок в корзину и отгрузки.
6) Создаете отдельное поле на хранение выбранных пользователем подарков (в случае пересчета заказа менеджером). И при сохранении в обработчике (п.5) учитываете этот список.
Распиливать не придется, но процесс достаточно трудоемкий.