Magento Нужно сделать скидку перед промежуточным итогом

0

Мне невероятно сложно понять это. Я создал область в кассе, чтобы сделать скидку для клиентов. Но мне нужно это сделать до промежуточного итога

Изображение 174551

Ниже мой код

    <global>
        ....
                    <globaldiscount>
                        <class>winints/globaldiscount</class>
                        <before>subtotal</before>
                    </globaldiscount>
                </totals>
            </quote>
        </sales>
<global>
Теги:
magento

3 ответа

1

Вы должны иметь возможность сортировать порядки сортировки итогов через конфигурацию системы. System->Configuration->Sales->Sales->Checkout Totals Sort Order

Изображение 174551

  • 0
    «Глобальная скидка» - это новая скидка, которую я создал. У него нет конфигураций в бэкэнде. Я попробовал, и ничего не изменилось.
  • 0
    Не было точного решения, но оно определенно указало мне правильное направление.
0

Основываясь на ответе @AdamPeterson, я смог понять проблему...

<default>
    <sales>
        <totals_sort>
            <globaldiscount>1</globaldiscount>
        </totals_sort>
    </sales>
</default>

Он прав, что упорядочение основано на конфигурациях в области администрирования, но поскольку мой атрибут является обычным, его не нужно сортировать. Magento сортируется на основе тега title, указанного ниже.

Изображение 174551

Как только я применил globaldiscount под totals_sort, он, наконец, изменил порядок.

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

0

надеюсь эта помощь

вы можете отредактировать phtml и вручную поместить то, что вы хотите показать первым

$totals = Mage::getSingleton('checkout/cart')->getQuote()->getTotals(); 
//$totals will have subtotal, shipping, discount, total and tax value

if(isset($totals['discount']) && $totals['discount']->getValue()) {
  echo $this->helper('checkout')->formatPrice($totals["discount"]->getValue());
}
echo $this->helper('checkout')->formatPrice($totals["subtotal"]->getValue());
  • 0
    Я бы не рекомендовал редактировать шаблон. Я бы оставил это до ->renderTotals() .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню