Exemplo n.º 1
0
 /**
  * @Route("/cart", name="cart", options={"expose"=true})
  */
 public function cartAction(Request $request)
 {
     if ($this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
         $em = $this->getDoctrine()->getManager();
         $user = $this->getUser();
         $cartProducts = $em->getRepository('AppBundle:CartProduct')->findByUser($user->getId());
     } else {
         $cookies = $request->cookies;
         if ($cookies->has('cart')) {
             $cartArray = json_decode($cookies->get('cart'), true);
             $em = $this->getDoctrine()->getManager();
             $products = $em->getRepository('AppBundle:Product')->findById(array_keys($cartArray));
             $cartProducts = array();
             foreach ($products as $value) {
                 $cartProduct = new CartProduct();
                 $cartProduct->setProduct($value);
                 $cartProduct->setCount($cartArray[$value->getId()]['count']);
                 $cartProduct->setAddAt($cartArray[$value->getId()]['addAt']);
                 array_push($cartProducts, $cartProduct);
             }
         } else {
             $cartProducts = '';
         }
     }
     return $this->render('Order/default/cart.html.twig', array('data' => $cartProducts));
 }