#[Route(path: '/checkout/cart', name: 'frontend.checkout.cart.page', options: ['seo' => false], defaults: ['_noStore' => true], methods: ['GET'])]
public function cartPage(Request
$request, SalesChannelContext
$context): Response
{ $page =
$this->cartPageLoader->
load($request,
$context);
$cart =
$page->
getCart();
$cartErrors =
$cart->
getErrors();
$this->
hook(new CheckoutCartPageLoadedHook($page,
$context));
$this->
addCartErrors($cart);
if (!
$request->query->
getBoolean(self::REDIRECTED_FROM_SAME_ROUTE
) &&
$this->
routeNeedsReload($cartErrors)) { $cartErrors->
clear();
// To prevent redirect loops add the identifier that the request already got redirected from the same origin
return $this->
redirectToRoute( 'frontend.checkout.cart.page',
[...
$request->query->
all(), ...
[self::REDIRECTED_FROM_SAME_ROUTE => true
]],
);
} $cartErrors->
clear();
return $this->
renderStorefront('@Storefront/storefront/page/checkout/cart/index.html.twig',
['page' =>
$page]);
}