public function HorizontalMenu::getCacheContexts in Responsive and off-canvas menu 8.2
Same name and namespace in other branches
- 8.3 src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
- 4.4.x src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
- 4.0.x src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
- 4.1.x src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
- 4.3.x src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
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/ HorizontalMenu.php, line 139 
Class
- HorizontalMenu
- Provides the HorizontalMenu block.
Namespace
Drupal\responsive_menu\Plugin\BlockCode
public function getCacheContexts() {
  // ::build() uses 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.
  $menu_name = \Drupal::config('responsive_menu.settings')
    ->get('horizontal_menu');
  // Allow other modules to modify the menu name.
  \Drupal::ModuleHandler()
    ->alter('responsive_menu_horizontal_menu_name', $menu_name);
  return Cache::mergeContexts(parent::getCacheContexts(), [
    'route.menu_active_trails:' . $menu_name,
  ]);
}