first()){ $id = $ShippingCountry->id; } Yard::instance('shopping')->setShippingCountryWithPrice($id, 'shop'); } public static function getCurrentShippingPrice($shipping_for = 2) //shipping_for === microsite { $shipping = Yard::instance('shopping')->shipping(); if($shipping > 0){ return $shipping; } $shipping = Yard::instance('shopping')->preCalcuShippingPrice(); if($shipping > 0){ return formatNumber($shipping); } if($ShippingCountry = ShippingCountry::all()->first()){ if($ShippingCountry->shipping){ if($ShippingPrices = $ShippingCountry->shipping->getShippingPricesFirstBy($shipping_for)){ return formatNumber($ShippingPrices->price); } } } } public static function clearCart($data) { Yard::instance('shopping')->destroy(); } public static function switchShipping($data) { //pick_up//dhl_shipping Yard::instance('shopping')->setShippingOption($data['shipping_option']); Yard::instance('shopping')->reCalculateShippingPrice(); } public static function changeStateShipping($data) { $id = 1; if($ShippingCountry = ShippingCountry::find($data['shipping_country_id'])){ $id = $ShippingCountry->id; } Yard::instance('shopping')->setShippingCountryWithPrice($id, 'shop'); } public static function updateProduct($data, $add=false) { if($product = Product::find($data['product_id'])){ $image = ""; if($product->images->count()){ $image = $product->images->first()->slug; } //get the card item $cartItem = Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, $product->price, $product->tax, [ 'image' => $image, 'slug' => $product->slug, 'weight' => $product->weight, ]); Yard::setTax($cartItem->rowId, $product->tax); if(!$add){ if(isset($data['qty']) && $data['qty'] > 0){ Yard::instance('shopping')->update($cartItem->rowId, $data['qty']); }else{ //if 0 get the item by qty:1 and remove it Yard::instance('shopping')->remove($cartItem->rowId); } } Yard::instance('shopping')->reCalculate(); return $cartItem->qty; } } public static function updateFeeProduct($data) { foreach (Yard::instance('shopping')->content() as $row) { //wenn kleiner wurde ein produkt entfernt aufgrund der Anzahl //wenn gleich löschen, da neue Versandkosten if($row->options->free_product_id) { Yard::instance('shopping')->remove($row->rowId); } } if(isset($data['free_product_id'])) { if ($product = Product::find($data['product_id'])) { $image = ""; if ($product->images->count()) { $image = $product->images->first()->slug; } $cartItem = Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, 0, 0, [ 'image' => $image, 'slug' => $product->slug, //'weight' => $product->weight, 'weight' => 1, 'free_product_id' => intval($data['free_product_id']), 'product_id' => $product->id ]); Yard::setTax($cartItem->rowId, 0); Yard::instance('shopping')->reCalculate(); } } } }