You are here

public function CartCacheContext::getCacheableMetadata in Commerce Core 8.2

Gets the cacheability metadata for the context.

There are three valid cases for the returned CacheableMetadata object:

  • An empty object means this can be optimized away safely.
  • A max-age of 0 means that this context can never be optimized away. It will never bubble up and cache tags will not be used.
  • Any non-zero max-age and cache tags will bubble up into the cache item if this is optimized away to allow for invalidation if the context value changes.

Return value

\Drupal\Core\Cache\CacheableMetadata A cacheable metadata object.

Overrides CacheContextInterface::getCacheableMetadata

File

modules/cart/src/Cache/Context/CartCacheContext.php, line 61

Class

CartCacheContext
Defines the CartCacheContext service, for "per cart" caching.

Namespace

Drupal\commerce_cart\Cache\Context

Code

public function getCacheableMetadata() {
  $metadata = new CacheableMetadata();
  foreach ($this->cartProvider
    ->getCarts($this->account) as $cart) {
    $metadata
      ->addCacheableDependency($cart);
  }
  return $metadata;
}