Drupal 8 Commerce 2 Load User's Shopping Cart

Posted on 28/08/2019

Quite a block of code but gives you more flexibility in the end. The code below does not load current user's shopping cart, but shopping cart of the super user (UID: 1).

  1. $account = \Drupal\user\Entity\User::load(1);
  2. $entity_manager = \Drupal::entityTypeManager();
  3. /** @var \Drupal\commerce_store\Entity\Store $store */
  4. $store = $entity_manager->getStorage('commerce_store')->loadDefault();
  5. /** @var \Drupal\commerce_cart\CartProviderInterface $cart_provider */
  6. $cart_provider = \Drupal::service('commerce_cart.cart_provider');
  7. /** @var \Drupal\commerce_order\Entity\Order $cart_order */
  8. $cart_order = $cart_provider->getCart('default', $store, $account);