You are here

public function GroupMenuBlock::getCacheContexts in Group Content Menu 8

The cache contexts associated with this object.

These identify a specific variation/representation of the object.

Cache contexts are tokens: placeholders that are converted to cache keys by the @cache_contexts_manager service. The replacement value depends on the request context (the current URL, language, and so on). They're converted before storing an object in cache.

Return value

string[] An array of cache context tokens, used to generate a cache ID.

Overrides ContextAwarePluginBase::getCacheContexts

See also

\Drupal\Core\Cache\Context\CacheContextsManager::convertTokensToKeys()

File

src/Plugin/Block/GroupMenuBlock.php, line 241

Class

GroupMenuBlock
Provides a generic Menu block.

Namespace

Drupal\group_content_menu\Plugin\Block

Code

public function getCacheContexts() {
  $tags = [
    // We use MenuLinkTreeInterface::getCurrentRouteMenuTreeParameters() to
    // generate menu tree parameters, and those take the active menu trail
    // into account. Therefore, we must vary the rendered menu by the active
    // trail of the rendered menu. Additional cache contexts, e.g. those that
    // determine link text or accessibility of a menu, will be bubbled
    // automatically.
    'route.menu_active_trails:group-menu-' . $this
      ->getDerivativeId(),
    // We also vary by the active group as found by RouteGroupCacheContext.
    'route.group',
  ];
  return Cache::mergeContexts(parent::getCacheContexts(), $tags);
}