Применить скидку к стоимости доставки

16

Я хочу применить скидку на стоимость доставки. Например, если итоговая сумма в корзине превышает 125 долларов США, на стоимость доставки будет предоставлена ​​скидка в размере 17 долларов США. Я создал правило корзины доставки в админке, но правило применяется к промежуточной сумме корзины, а не к стоимости доставки. Я выбрал параметры «Применить к сумме доставки» как «да» и «Остановить дальнейшую обработку правил» как «нет».

У кого-нибудь есть идеи о том, как я могу это сделать. Любая помощь будет по достоинству оценена.

Заранее спасибо.

pady
источник
Я думаю, что применимые к стоимости доставки не объяснены правильно Я также подумал, что выбор этого параметра должен применять скидку к стоимости доставки, но, очевидно, это означает, что он будет применять скидку к «также» стоимости доставки.

Ответы:

7

Мы сделали это недавно с помощью своего рода хакерского использования панели управления правилами продаж.

В вашем правиле в разделе «действия» на панели «Применить правило только к элементам корзины, соответствующим следующим условиям», создайте условие, которое фактически никогда не может возникнуть. Мы использовали sku == 'недействительный'. Пока вы выбрали «Применить к сумме доставки», скидка будет приниматься только от стоимости доставки. Тем не менее, он не будет соответствовать ни одной позиции в корзине.

Лаура
источник
Обратите внимание на одну вещь: он работает только в том случае, если пользователь оценивает доставку на странице корзины (в основном, вам нужен метод доставки в предложении, когда вы применяете код купона; мы настроили нашу корзину для автоматического применения самого дешевого метода доставки, так у нас получилось).
Лаура
Подтвердил работу в 1.9 :)
наказуемо
2

На мой взгляд, это ошибка в базовом расчете, которая игнорирует Apply to Shipping Priceфлаг при обработке скидки и применяет его к продукту, и это переопределяет то, что было сделано processShippingAmount.

http://www.magentocommerce.com/bug-tracking/issue/index/id/250

Если изменить app/code/core/Mage/SalesRule/Model/Validator.phpв processфункции вблизи верхней части foreachоной петли в

if ($rule->getApplyToShipping()) {
    continue;
}

Это предотвратит processпопытку метода применить правила корзины покупок с Apply to Shipping Priceустановленным на Yes.

Vizjerai
источник
0

Мы используем расширение « Правила доставки», чтобы делать то, что, как вам кажется, вы пытаетесь выполнить. Мы использовали это расширение, чтобы создать правила для применения скидки к итоговой стоимости доставки на основе промежуточной суммы корзины. Возможно, это как раз то, что вам нужно.

dberg
источник
-1

Вы можете перейти к панели администрирования Magento. Первый шаг: обещания. Второй шаг: Правило цены корзины покупок. Затем перейдите к Условиям на левой боковой панели. Примените условия к тому, что вы когда-либо захотите. это правда.

Ваджид Хуссейн
источник