Example #1
0
 public function requestAction()
 {
     global $smarty, $cookie, $cart, $link;
     parent::requestAction();
     if (!Validate::isLoadedObject($cart) && isset($cookie->id_cart)) {
         $cart = new Cart((int) $cookie->id_cart);
     }
     if (Tools::isSubmit('addToCart')) {
         if (!isset($cart) || !Validate::isLoadedObject($cart)) {
             $cart = new Cart();
             $cart->copyFromPost();
             if ($cart->add()) {
                 $cookie->id_cart = $cart->id;
             }
         }
         if (Tools::getRequest('id_product')) {
             $id_product = Tools::getRequest('id_product');
         }
         if (Tools::getRequest('quantity')) {
             $quantity = Tools::getRequest('quantity');
         }
         if (Tools::getRequest('id_attributes')) {
             $attributes = Tools::getRequest('id_attributes');
         }
         $product = new Product(intval($id_product));
         if (Validate::isLoadedObject($cart)) {
             $cart->addProduct($id_product, $quantity, $product->price, $attributes);
         }
         Tools::redirect($link->getPage('CartView'));
     }
     if (isset($_GET['delete']) and intval($_GET['delete']) > 0) {
         $cart->deleteProduct(intval($_GET['delete']));
         Tools::redirect($link->getPage('CartView'));
     }
     if (Tools::isSubmit('cart_update')) {
         $quantitys = Tools::getRequest('quantity');
         if (count($quantitys) > 0) {
             foreach ($quantitys as $key => $val) {
                 $cart->updateProduct($key, $val['quantity']);
             }
         }
         Tools::redirect($link->getPage('CartView'));
     }
     if (isset($cart) && Validate::isLoadedObject($cart)) {
         $this->cart_info = $cart->getCartInfo();
         $this->cart_info["cart_msg"] = $cart->msg;
     }
     $smarty->assign(array('cart_products' => $this->cart_info['cart_products'], 'cart_quantity' => $this->cart_info['cart_quantity'], 'cart_msg' => $this->cart_info['cart_msg'], 'cart_discount' => $this->cart_info['cart_discount'], 'cart_shipping' => $this->cart_info['cart_shipping'], 'cart_total' => $this->cart_info['cart_total'], 'enjoy_free_shipping' => (double) Configuration::get('ENJOY_FREE_SHIPPING')));
 }