Jump to content

Koszty wysiłki nie doliczają się


Artisan

Recommended Posts

Hej,

mam pewien problem. Z jednego koszyka tworzę dwa. Polega to na tym, że produkty, których stan jest 0 lub mniejszy przechodzą do innego,nowego koszyka, a w tym, który już istnieje zostają produkty, których stan jest większy od 0.  Wszystko prawie fajnie działa, jest tylko jeden problem. Gdy w tym podstawowym koszyku była darmowa wysyłka, bo wartość koszyka była większa niż powiedzmy 100zł, to po wyrzuceniu z koszyka produktów, których nie ma na stanie robi się kwota koszyka np 50zł, a więc powinno doliczać koszty wysyłki., a tego nie robi. 

Fragment kodu:

$tmpCart=new Cart((int)$id_cart); //pobieram obecny koszyk

// tworze nowy koszyk i zaczynam wybierać produkty do przeniesienia 

$idInsertCart=(int)Db::getInstance()->Insert_ID();
                        $newCart= new Cart($idInsertCart);
                        
                        
                        $cartItems=$tmpCart->getProducts();
                        foreach($cartItems as $cartItem)
                        {   
                            $productQT=Product::getQuantity((int)$cartItem['id_product'], (int)$cartItem['id_product_attribute']);
                            if($productQT<=0)
                            {
                                $newCart->updateQty((int)$cartItem['cart_quantity'], (int)$cartItem['id_product'],(int)$cartItem['id_product_attribute']);
                              // if($tmpCart->deleteProduct((int)$cartItem['id_product'], (int)$cartItem['id_product_attribute']))
                               if($tmpCart->deleteProduct( (int)$cartItem['id_product'], (int)$cartItem['id_product_attribute'], (int)$cartItem['id_customization'], (int)$cartItem['id_address_delivery']))
                               {
                                  Hook::exec('actionAfterDeleteProductInCart', array(
                                    'id_cart' => (int)$id_cart,
                                    'id_product' =>  (int)$cartItem['id_product'],
                                    'id_product_attribute' =>  (int)$cartItem['id_product_attribute'],
                                    'customization_id' =>  (int)$cartItem['id_customization'],
                                    'id_address_delivery' => (int)$cartItem['id_address_delivery']
                                    ));
                               }
                               
                            }
                        }
                            
                            $amount_paid = (float)$tmpCart->getOrderTotal(true, Cart::BOTH,null,null,false); //tutaj nie dolicza kosztow
                            $amount_paid_new = (float)$newCart->getOrderTotal(true, Cart::BOTH,null,null,false);

                                        var_dump($amount_paid);
                            exit;

 

Czy przed tą linijka :

$amount_paid = (float)$tmpCart->getOrderTotal(true, Cart::BOTH,null,null,false);

powinienem wywołać jakąś funkcję? 

 

Dziękuje za pomoc, 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...