Session Basket veränderbar?

$oBasket = $this->getSession()->getBasket();

Ich würde gerne einen bestimmten Wert vom Totalpreis Warenkorb abziehen, das klappt auch wunderbar in den Views durch ein eigenes Modul , nur wenn die Bestellung am Ende ausgeführt wird, wird immer noch der alte Totalpreis in die Datenbank geschrieben, was bestimmt an an dem Basket Objekt liegt, denn dort steht auch noch der alte Preis drin. Wie kann ich diesen ändern? Gibt es eine Methode?Wie löst man das am einfachsten?

Vielen Dank für eure Hilfe.

Hi,

da musst Du bestimmt in die order-Klasse. Dort wird die Bestellung weggeschrieben.

Gruß

Hi,

wird die Basket Session nicht schon in der basket oder oxbasket Klasse weggeschrieben?
Mittlerweile bin ich soweit, das ich die protected function _calcItemsPrice() in der oxbasket Klasse überschreiben will. Ein Problem gibt es jedoch, es funkioniert nicht. :mad:

Methode in der oxBasket Klasse überschreiben dann geht es 2.2.1:

protected function _calcTotalPrice()
{
// 1. add products price
$dprice = $this->_oProductsPriceList->getBruttoSum();

    $this->_oPrice->setPrice( $dprice );

    // 2. substract discounts
    if ( $dprice ) {

        /*
        //#3857 this section is not needed as $this->_aItemDiscounts is part of $this->_aDiscounts
        // 2.1 applying basket item discounts
        foreach ( $this->_aItemDiscounts as $oDiscount ) {

            // skipping bundle discounts
            if ( $oDiscount->sType == 'itm' ) {
                continue;
            }
            $this->_oPrice->subtract( $oDiscount->dDiscount );
        }*/

        // 2.2 applying basket discounts
        $this->_oPrice->subtract( $this->_oTotalDiscount->getBruttoPrice());

        //############ 2.2.1 Substract a Value for Example 10
        $this->_oPrice->subtract(10);
       ####################
        // 2.3 applying voucher discounts
        if ($oVoucherDisc = $this->getVoucherDiscount()) {
            $this->_oPrice->subtract( $oVoucherDisc->getBruttoPrice() );
        }
    }

    // 2.3 add delivery cost
    if ( isset( $this->_aCosts['oxdelivery'] ) ) {
        $this->_oPrice->add( $this->_aCosts['oxdelivery']->getBruttoPrice() );
    }

    // 2.4 add wrapping price
    if ( isset( $this->_aCosts['oxwrapping'] ) ) {
        $this->_oPrice->add( $this->_aCosts['oxwrapping']->getBruttoPrice() );
    }

    // 2.5 add payment price
    if ( isset( $this->_aCosts['oxpayment'] ) ) {
        $this->_oPrice->add( $this->_aCosts['oxpayment']->getBruttoPrice() );
    }

    // 2.6 add TS protection price
    if ( isset( $this->_aCosts['oxtsprotection'] ) ) {
        $this->_oPrice->add( $this->_aCosts['oxtsprotection']->getBruttoPrice() );
    }

}