Joomla 5.2.2 Security & Bugfix Release
Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.
Virtuemart 3 - zľava v košíku a zmena ceny objednávky
30. říj 2022 13:57 - 30. říj 2022 14:18 #147233
Dobrý deň,
Joomla 3.10.6 a VM 3.8.4
prosím vás, riešim taký problém, mám systém zbierania bodov pre zákazníkov z každej objednávky. Následne chcem aby si zákazník mohol uplatniť v košíku zľavu - napr. 10 Euro. Spravil som systémový plugin ale ani za nič neviem zmeniť $cart->cartPrices resp. $cart->cartPrices v cart SESSION.
toto nepomáha:
Neviete mi prosím poradiť alebo aspoň usmerniť prečo nejde zmeniť cena resp. zadať zľavu a prepísať SESSION?
ďakujem
Andrejk
Joomla 3.10.6 a VM 3.8.4
prosím vás, riešim taký problém, mám systém zbierania bodov pre zákazníkov z každej objednávky. Následne chcem aby si zákazník mohol uplatniť v košíku zľavu - napr. 10 Euro. Spravil som systémový plugin ale ani za nič neviem zmeniť $cart->cartPrices resp. $cart->cartPrices v cart SESSION.
toto nepomáha:
Code:
$cart->cartPrices['discountAmount'] = 10;
$cart->cartPrices['billTotal']= $cart->cartPrices['billTotal'] - $cart->cartPrices['discountAmount'];
$calculator->setCartPrices($cart->cartPrices);
$cart->setCartIntoSession(true);
Neviete mi prosím poradiť alebo aspoň usmerniť prečo nejde zmeniť cena resp. zadať zľavu a prepísať SESSION?
ďakujem
Andrejk
01. lis 2022 03:03 #147234
Odpověď od Cony
Moderátor
Otázkou je, v jaké události to řešíte, jestli Vám to VM pak ještě znovu celé nepřepočte.
Něco podobného jsem řešil v systémovém pluginu v události plgVmOnUserOrder (zpropitné)
Pro ladění podobných věcí doporučuji použít
n3t Debug
.
Něco podobného jsem řešil v systémovém pluginu v události plgVmOnUserOrder (zpropitné)
Code:
public function plgVmOnUserOrder($order) {
$tip = (int)$order->tip;
if ($tip < 0)
$tip = 0;
if ($order->order_billTaxAmount != $tip) {
$order->order_total -= $order->order_billTaxAmount;
$order->order_billTaxAmount = $tip;
$order->order_total += $tip;
}
}