Addieren Sie kundenspezifischen Diskontauftrag insgesamt mit Knopf

Ich habe mein Modul mit meinem benutzerdefinierten Rabatt und es ist in Ordnung.

config.xml:

<sales>
   <quote>
       <totals>
             <aver> 
                <class>Dani_Prueba_Model_Total_Aver</class> 
                <after>subtotal</after> 
             </aver>
        </totals>
    </quote>
</sales>

Mein Modul:

<?php
class Dani_Prueba_Model_Total_Aver extends Mage_Sales_Model_Quote_Address_Total_Abstract{

    public function collect(Mage_Sales_Model_Quote_Address $address){

        $baseDiscount = 2.5;
        $discount = Mage::app()->getStore()->convertPrice($baseDiscount);

        $address->setCustomDiscount($baseDiscount);

        $address->setBaseGrandTotal($address->getBaseGrandTotal() - $baseDiscount);
        $address->setGrandTotal($address->getGrandTotal() - $discount);

        return $this;
    }

    public function fetch(Mage_Sales_Model_Quote_Address $address){
        $this->setCode('aver');
        $amount = $address->getCustomDiscount();
            if ($amount != 0){
                $address->addTotal(array(
                'code'  => $this->getCode(),
                'title' => 'Custom Discount',
                'value' => $amount
            ));
        }
        return $this;
    }
}

Dies ist in Ordnung und wenn ich ein Produkt zum Warenkorb hinzufüge, wende ich automatisch meinen benutzerdefinierten Rabatt an.

Aber jetzt muss ich es mit einem Knopf machen. Wenn ich Produkte zum Warenkorb hinzufüge, gilt kein Rabatt und der Gesamtbetrag stimmt. Wenn ich jedoch auf eine Schaltfläche klicke, wende ich meinen benutzerdefinierten Rabatt an und storniere den Rabatt mit der anderen Schaltfläche "Abbrechen". Ich brauche einige ähnliche wie die Funktion einen Gutscheincode.

Wie ich es mache??

Antworten auf die Frage(3)

Ihre Antwort auf die Frage