Правила цены корзины и ошибка в ядре загружаемого продукта?
Сегодня столкнулся с интересной ошибкой и подумал, не сталкивался ли с ней кто-нибудь еще.
Я взял установку Magento CE по умолчанию (1.7.0.2) и добавил фиктивные данные. Затем создал новую категорию под названием "Программное обеспечение" в категории Компьютер > Электроника и добавил в нее один Загружаемый продукт.
Затем я попытался создать правило цены, в котором, если вы добавите товар с категорией мебели (категория 22) в корзину вместе с загружаемый продукт (категория 35), вы получите фиксированную скидку в размере 15 долларов США на свой заказ.
Для начала я создал купон, который будет применяться, если в корзину будет добавлен какой-либо товар с идентификатором категории 22.
Это прекрасно работает, если вы добавите, скажем, пуфик в свою корзину... но если вы затем также добавите загружаемый продукт в свою корзину, это правило не сработает применять.
Успех
Успех
Сбой
Если я попытаюсь что-то сделать с правилами ценообразования, когда в корзине есть загружаемый продукт, правило не сработает.
Есть идеи?
ОТВЕТ
Оказывается, это просто немного сложное правило. Окончательные настройки для достижения того, чего я хотел, выглядели так...
Действия
Условия
1 answers
Проблема в том, что вы применяете правило ко всем товарам в корзине, поэтому, когда он проверяет виртуальный продукт, он видит, что он не относится к категории 22, и он нарушает правило.
Если вы хотите применять скидку всякий раз, когда товар из категории 22 и категории 35 находится в корзине, измените правило "Условия" на:
~ Если КАКОЕ-либо из этих условий верно:
~~ Если общее количество больше 0 для поднабора товаров, соответствующих ЛЮБОМУ из этих условия:
~~~ Категория 22
~~~ Категория 35
Я думаю, что мой мозг правильно это понял. Если это не совсем правильно, это должно, по крайней мере, направить вас на правильный путь.
Здесь я использовал категорию 8, но именно там я создал свой собственный тестовый виртуальный продукт.