CoreShop Cart Context
For CoreShop to determine the current cart it uses a concept called context and context resolver.
The Cart Context implements the Interface CoreShop\Component\Order\Context\CartContextInterface
and is implemented in the Service
coreshop.context.cart
:
Getting the current Cart
If you want to get the current cart, you simply use the service:
$cartContext = $container->get('coreshop.context.cart');
// Get current cart, if none exists, it creates a new one
$cart = $cartContext->getCart();
Context
Name | Priority | Description |
---|---|---|
FixedCartContext | -100 | Used for testing purposes or for backend order creation |
SessionAndStoreBasedCartContext | -555 | Search for a valid session cart in given store context |
CustomerAndStoreBasedCartContext | -777 | Search for a cart based on a customer. Note: This context only triggers after a user has been successfully logged in. It searches for the last available cart a user may has left. |
CartContext | -999 | If all other context classes failed finally this context will create a fresh cart |
Create a Custom Resolver
To register your context, you need to use the tag: coreshop.context.cart
with an optional priority
attribute.