/** * @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)); }