public function delete(Product $product) { $cart = json_decode($this->session->get('cart'), true); if ($cart && array_key_exists($product->getId(), $cart)) { unset($cart[$product->getId()]); $this->save($cart); } }
public function deleteAction(Product $product, Request $request) { $session = $request->getSession(); $cart = $session->get('panier'); if ($cart && array_key_exists($product->getId(), $cart)) { unset($cart[$product->getId()]); $session->set('panier', $cart); } return $this->redirectToRoute('troiswa_back_panier'); }
public function decreaseQuantity(Product $product) { $cart = json_decode($this->session->get('cart'), true); $qty = $cart[$product->getId()]['quantity']; if (array_key_exists($product->getId(), $cart)) { $qty -= 1; $cart[$product->getId()]['quantity'] = $qty; if ($qty == 0) { unset($cart[$product->getId()]); } $this->session->set('cart', json_encode($cart)); } }
public function add(Product $product, $qty = 1) { if ($qty > 0) { //$session = $request->getSession(); if ($this->session->get('cart')) { $cart = json_decode($this->session->get('cart'), true); } else { $cart = []; } if (array_key_exists($product->getId(), $cart)) { $qty += $cart[$product->getId()]['quantity']; } $cart[$product->getId()] = ['quantity' => $qty]; $this->session->set('cart', json_encode($cart)); } }
public function add(Product $product, $qty = 1) { $allProducts = []; if ($this->session->get('panier')) { $allProducts = $this->session->get('panier'); } // Ecriture sans les quantités //array_push($allProducts, $id); // Ecriture avec les quantités // Si le produit existe déjà dans le panier je fais une incrémentation if (array_key_exists($product->getId(), $allProducts)) { $allProducts[$product->getId()] += $qty; } else { $allProducts[$product->getId()] = $qty; } $this->session->set('panier', $allProducts); }
/** * Décrémente la quantité d'un produit (Ajax) * @author Eric * * @param Product $product * @return \Symfony\Component\HttpFoundation\RedirectResponse * @ParamConverter("product", options={"mapping": {"idproduct": "id"}}) */ public function cartDecrementAction(Product $product, Request $request) { if ($request->isXmlHttpRequest()) { $cart = $this->get('troiswa_front.cart'); $cart->decrement($product->getId()); return new JsonResponse("Produit enlevé"); } return $this->redirectToRoute('troiswa_front_cart'); }
/** * @ParamConverter("comment", options={"mapping": {"idcom": "id"}}) * @ParamConverter("product", options={"mapping": {"idprod": "id"}}) */ public function commentdeleteAction(Comment $comment, Product $product) { $em = $this->getDoctrine()->getManager(); $em->remove($comment); $em->flush(); $this->get('session')->getFlashBag()->add('success', 'Votre commentaire a bien été supprimé'); return $this->redirectToRoute('troiswa_back_product_show', ['idprod' => $product->getId()]); }
public function moinsAction(Product $product, Request $request) { $session = $request->getSession(); $cart = json_decode($session->get('cart'), true); $Newqtymoins = $cart[$product->getId()]['quantity'] - 1; if ($Newqtymoins < 1) { unset($cart[$product->getId()]); } else { $cart[$product->getId()]['quantity'] = $Newqtymoins; } //enregistrer le pannier $session->set('cart', json_encode($cart)); if ($request->isXmlHttpRequest()) { return new JsonResponse("Votre produit a bien été supprimé"); } return $this->redirectToRoute('troiswa_front_cart'); }