Добрый день!
Вставлю свои “пять копеек”.
Чтобы не сильно менять механизм скидок, но серьёзно улучшить ситуацию, можно сделать:
Скидки для каталога.
- Организовать несколько вариантов взаимодействия скидок:
а) максимум б) минимум в) сложение г) последовательное применение д) вытеснение - Все скидки акциями рассчитывать от рекомендованной цены. Тогда, при условии взаимодействия “максимум”, можно не бояться одновременного действия нескольких скидок на один товар, и их конкуренции с “акционной” ценой. И продажную цену нужно не “на лету” рассчитывать", а в момент ввода в действие акции.
- Просто “Цену” переименовать в “акционную цену”. Можно организовать и справочник цен, но пока хотя бы так. В “Бонусы” добавить “установить акционную цену”. То есть, она не будет применяться автоматически, а только во время акции. Например, “условие” - товар в группе А, бонус - “установить акционную цену.”
Пункты 2 и 3 позволят нормально использовать вместе и скидки акциями, и скидки установкой “акционной цены”.
Скидки для корзины.
- Не хватает условия “Количество товаров такой-то категории”
- Не хватает бонуса “подарок (или “бесплатный товар” в терминах cs-cart) из корзины”. В сочетании 1 и 2 пункт дают возможность делать отличные промо-акции типа 2+1, 3+1 и т.п. Например, при условии наличия в корзине 3 товаров категории А, сделать бесплатным 1 товар из корзины меньшей цены (тут можно добавить ещё одно условие “из категории А”.