Magento: применяется правило цены корзины покупок, но скидка не вычитается из промежуточной суммы
Я создал правило цены корзины покупок в моем магазине Magento (версия 1.4.1.1), и оно, кажется, применяется без проблем во внешнем интерфейсе, но скидка фактически не отражается в промежуточной сумме или итоговой сумме. Первоначальная цена товара составляет $45,00, а скидка должна быть $35,00, а окончательная цена - $10,00. Вот несколько скриншотов установки. (Извините, поскольку я новый пользователь, он не позволит мне публиковать изображения непосредственно в этом сообщении.)
- Главная страница правил
- Страница действий
- Корзина показывает, что был применен промокод
- Проверка заказа (последний шаг перед отправкой заказа)
Этот конкретный элемент имеет несколько пользовательских параметров, которые устанавливают цены для четырех отдельных параметров. Цена продукта составляет $ 0,00, и тогда у каждого варианта есть своя собственная цена (я не устанавливал эту часть, поэтому я не уверен, что я что-то здесь тоже упустил). Вот скриншот страницы пользовательских настроек продукта: http://imgur.com/uO9HG
Какие-нибудь мысли? Я довольно новичок в Magento, так что возможно я просто упускаю что-то очевидное. Заранее спасибо за любую помощь или руководство!
3 ответа
Я на самом деле просто выяснил, что происходит не так, или, по крайней мере, я нашел решение, хотя и не знал точно, почему это влияет на правила цены корзины покупок. Вы правы, что я даже не смог заставить работать простое правило цены - оно просто не работало, как бы я ни изменил правило. В любом случае, работая над другой проблемой, я понял, что мне не хватает поля "Итого / общая сумма" на внешней стороне корзины покупок (я установил чистую копию версии 1.4.1.1 на свой локальный хост, когда я ее заметил отсутствовал на моем живом сайте). Когда я снова включил окно Итого / Итого, правила снова начали работать. (Полагаю, теперь, когда у Magento есть место на внешнем интерфейсе, чтобы показать скидку, он фактически применяет его, тогда как раньше он просто ничего не делал.)
Итак, чтобы снова включить окно промежуточного итога / общего итога, в серверной части я выбрал Система> Конфигурация> Дополнительно> Включить модуль Mage_Tax. Опять же, я не уверен, почему он был отключен в первую очередь, и я не уверен, влияет ли это на что-то еще на сайте, но это уже давно, и я ничего не заметил. Вот снимок экрана, на котором это работает:
Я думаю, что проблема заключается в использовании SKU с вашими пользовательскими опциями в сочетании с ограничением правила ценообразования для SKU продукта. Magento объединяет их, используя дефис - разместите тестовый заказ, чтобы увидеть, в этом ли проблема.
SKU в тестовом заказе, который я сделал, выходит примерно так; [ORIGINAL_PRODUCT_SKU]-[CUSTOM_OPTION_SKU]
По крайней мере, это результат, который я получаю от версии 1.5.0.1
Самым быстрым решением, которое я смог найти, было соответствие правилу для URL-адреса продукта, а не SKU. Это не самое интуитивно понятное решение, но, поскольку вы не измените URL-адрес продукта (надеюсь), оно будет работать там, где не работают SKU с пользовательскими параметрами.
В версии 1.4 ключ URL должен быть доступен для выбора вместо SKU уже. Таким образом, вы можете просто выбрать URL-ключ вместо sku и вставить правильный URL-адрес вашего продукта в правило цены корзины покупок. Просто замените "SKU is..." на "URL key is...", вставив правильный URL-ключ для вашего продукта.
В версии 1.5 мне нужно было включить "Использовать для условий правила промо" в атрибуте url_key следующим образом;
- Войдите в админку Magento
- Перейдите в Каталог> Атрибуты> Управление Атрибутами
- Найдите код Atrtibute "url_key" и нажмите, чтобы изменить его
- Измените "Использовать для условий правил промо" на Да
- Сохраните изменения
- Вам может понадобиться переиндексировать индекс Product Flat Data на этом этапе.
Тогда я мог бы использовать это в своем правиле цены.
Если бы точно такая же проблема была на CE 1.9 с PHP7, то решение "Совместимость с PHP 7 для Magento 1" Inchoo решило эту проблему!