Мне невероятно сложно понять это. Я создал область в кассе, чтобы сделать скидку для клиентов. Но мне нужно это сделать до промежуточного итога
Ниже мой код
<global>
....
<globaldiscount>
<class>winints/globaldiscount</class>
<before>subtotal</before>
</globaldiscount>
</totals>
</quote>
</sales>
<global>
Вы должны иметь возможность сортировать порядки сортировки итогов через конфигурацию системы. System->Configuration->Sales->Sales->Checkout Totals Sort Order
Основываясь на ответе @AdamPeterson, я смог понять проблему...
<default>
<sales>
<totals_sort>
<globaldiscount>1</globaldiscount>
</totals_sort>
</sales>
</default>
Он прав, что упорядочение основано на конфигурациях в области администрирования, но поскольку мой атрибут является обычным, его не нужно сортировать. Magento сортируется на основе тега title, указанного ниже.
Как только я применил globaldiscount
под totals_sort
, он, наконец, изменил порядок.
вы можете, конечно, расширить свой пользовательский атрибут, чтобы появляться в бэкэнд, но я решил не делать этого.
надеюсь эта помощь
вы можете отредактировать 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());
->renderTotals()
.