You are here

class ContextMenuActiveTrail in Context 8.4

Same name and namespace in other branches
  1. 8 src/ContextMenuActiveTrail.php \Drupal\context\ContextMenuActiveTrail

Extend the MenuActiveTrail class.

Hierarchy

Expanded class hierarchy of ContextMenuActiveTrail

1 file declares its use of ContextMenuActiveTrail
context.module in ./context.module
Defines Drupal hooks for context module.

File

src/ContextMenuActiveTrail.php, line 14

Namespace

Drupal\context
View source
class ContextMenuActiveTrail extends MenuActiveTrail {

  /**
   * The Context module context manager.
   *
   * @var \Drupal\context\ContextManager
   */
  protected $contextManager;

  /**
   * {@inheritdoc}
   */
  public function __construct(MenuLinkManagerInterface $menu_link_manager, RouteMatchInterface $route_match, CacheBackendInterface $cache, LockBackendInterface $lock, ContextManager $context_manager) {
    parent::__construct($menu_link_manager, $route_match, $cache, $lock);
    $this->contextManager = $context_manager;
  }

  /**
   * {@inheritdoc}
   */
  public function getActiveLink($menu_name = NULL) {
    $found = parent::getActiveLink($menu_name);

    // Get active reaction of Menu type.
    foreach ($this->contextManager
      ->getActiveReactions('menu') as $reaction) {
      $menu_items = $reaction
        ->execute();
      foreach ($menu_items as $menu_link_content) {
        $menu = strtok($menu_link_content, ':');
        if ($menu == $menu_name) {
          $plugin_id = substr($menu_link_content, strlen($menu) + 1);
          return $this->menuLinkManager
            ->createInstance($plugin_id);
        }
      }
    }
    return $found;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CacheCollector::$cache protected property The cache backend that should be used. 1
CacheCollector::$cacheCreated protected property Stores the cache creation time.
CacheCollector::$cacheInvalidated protected property Flag that indicates of the cache has been invalidated.
CacheCollector::$cacheLoaded protected property Indicates if the collected cache was already loaded.
CacheCollector::$cid protected property The cache id that is used for the cache entry.
CacheCollector::$keysToPersist protected property An array of keys to add to the cache on service termination.
CacheCollector::$keysToRemove protected property An array of keys to remove from the cache on service termination.
CacheCollector::$lock protected property The lock backend that should be used. 1
CacheCollector::$storage protected property Storage for the data itself.
CacheCollector::$tags protected property A list of tags that are used for the cache entry.
CacheCollector::clear public function Clears the collected cache entry. Overrides CacheCollectorInterface::clear 1
CacheCollector::delete public function Deletes the element. Overrides CacheCollectorInterface::delete
CacheCollector::destruct public function Performs destruct operations. Overrides DestructableInterface::destruct
CacheCollector::get public function Gets value from the cache. Overrides CacheCollectorInterface::get 2
CacheCollector::has public function Returns whether data exists for this key. Overrides CacheCollectorInterface::has 1
CacheCollector::invalidateCache protected function Invalidate the cache.
CacheCollector::lazyLoadCache protected function Loads the cache if not already done. 1
CacheCollector::normalizeLockName protected function Normalizes a cache ID in order to comply with database limitations.
CacheCollector::persist protected function Flags an offset value to be written to the persistent cache.
CacheCollector::reset public function Resets the local cache. Overrides CacheCollectorInterface::reset 1
CacheCollector::set public function Implements \Drupal\Core\Cache\CacheCollectorInterface::set(). Overrides CacheCollectorInterface::set 1
CacheCollector::updateCache protected function Writes a value to the persistent cache immediately. 1
ContextMenuActiveTrail::$contextManager protected property The Context module context manager.
ContextMenuActiveTrail::getActiveLink public function Fetches a menu link which matches the route name, parameters and menu name. Overrides MenuActiveTrail::getActiveLink
ContextMenuActiveTrail::__construct public function Constructs a \Drupal\Core\Menu\MenuActiveTrail object. Overrides MenuActiveTrail::__construct
MenuActiveTrail::$menuLinkManager protected property The menu link plugin manager.
MenuActiveTrail::$routeMatch protected property The route match object for the current page.
MenuActiveTrail::doGetActiveTrailIds protected function Helper method for ::getActiveTrailIds().
MenuActiveTrail::getActiveTrailIds public function This implementation caches all active trail IDs per route match for *all* menus whose active trails are calculated on that page. This ensures 1 cache get for all active trails per page load, rather than N. Overrides MenuActiveTrailInterface::getActiveTrailIds
MenuActiveTrail::getCid protected function Overrides CacheCollector::getCid
MenuActiveTrail::resolveCacheMiss protected function Overrides CacheCollector::resolveCacheMiss