$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() );
}
}