示例#1
0
 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);
     }
 }
示例#2
0
 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');
 }
示例#3
0
 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));
     }
 }
示例#4
0
 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));
     }
 }
示例#5
0
 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');
 }