class ContextMenuActiveTrail in Context 8
Same name and namespace in other branches
- 8.4 src/ContextMenuActiveTrail.php \Drupal\context\ContextMenuActiveTrail
Extend the MenuActiveTrail class.
Hierarchy
- class \Drupal\Core\Cache\CacheCollector implements CacheCollectorInterface, DestructableInterface
- class \Drupal\Core\Menu\MenuActiveTrail implements MenuActiveTrailInterface
- class \Drupal\context\ContextMenuActiveTrail
- class \Drupal\Core\Menu\MenuActiveTrail implements MenuActiveTrailInterface
Expanded class hierarchy of ContextMenuActiveTrail
File
- src/
ContextMenuActiveTrail.php, line 15
Namespace
Drupal\contextView source
class ContextMenuActiveTrail extends MenuActiveTrail {
/**
* @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
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CacheCollector:: |
protected | property | The cache backend that should be used. | 1 |
CacheCollector:: |
protected | property | Stores the cache creation time. | |
CacheCollector:: |
protected | property | Flag that indicates of the cache has been invalidated. | |
CacheCollector:: |
protected | property | Indicates if the collected cache was already loaded. | |
CacheCollector:: |
protected | property | The cache id that is used for the cache entry. | |
CacheCollector:: |
protected | property | An array of keys to add to the cache on service termination. | |
CacheCollector:: |
protected | property | An array of keys to remove from the cache on service termination. | |
CacheCollector:: |
protected | property | The lock backend that should be used. | 1 |
CacheCollector:: |
protected | property | Storage for the data itself. | |
CacheCollector:: |
protected | property | A list of tags that are used for the cache entry. | |
CacheCollector:: |
public | function |
Clears the collected cache entry. Overrides CacheCollectorInterface:: |
1 |
CacheCollector:: |
public | function |
Deletes the element. Overrides CacheCollectorInterface:: |
|
CacheCollector:: |
public | function |
Performs destruct operations. Overrides DestructableInterface:: |
|
CacheCollector:: |
public | function |
Gets value from the cache. Overrides CacheCollectorInterface:: |
2 |
CacheCollector:: |
public | function |
Returns whether data exists for this key. Overrides CacheCollectorInterface:: |
1 |
CacheCollector:: |
protected | function | Invalidate the cache. | |
CacheCollector:: |
protected | function | Loads the cache if not already done. | 1 |
CacheCollector:: |
protected | function | Normalizes a cache ID in order to comply with database limitations. | |
CacheCollector:: |
protected | function | Flags an offset value to be written to the persistent cache. | |
CacheCollector:: |
public | function |
Resets the local cache. Overrides CacheCollectorInterface:: |
1 |
CacheCollector:: |
public | function |
Implements \Drupal\Core\Cache\CacheCollectorInterface::set(). Overrides CacheCollectorInterface:: |
1 |
CacheCollector:: |
protected | function | Writes a value to the persistent cache immediately. | 1 |
ContextMenuActiveTrail:: |
protected | property | ||
ContextMenuActiveTrail:: |
public | function |
Fetches a menu link which matches the route name, parameters and menu name. Overrides MenuActiveTrail:: |
|
ContextMenuActiveTrail:: |
public | function |
Constructs a \Drupal\Core\Menu\MenuActiveTrail object. Overrides MenuActiveTrail:: |
|
MenuActiveTrail:: |
protected | property | The menu link plugin manager. | |
MenuActiveTrail:: |
protected | property | The route match object for the current page. | |
MenuActiveTrail:: |
protected | function | Helper method for ::getActiveTrailIds(). | |
MenuActiveTrail:: |
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:: |
|
MenuActiveTrail:: |
protected | function |
Overrides CacheCollector:: |
|
MenuActiveTrail:: |
protected | function |
Overrides CacheCollector:: |