public function MenuLinkContentId::getActiveMenuItem in Menu Item Extras 8.2
Get active menu item.
Parameters
array $menu_level: Menu tree.
string $current_path: Current path.
Return value
\Drupal\Core\Menu\MenuLinkTreeElement|null Active menu item.
1 call to MenuLinkContentId::getActiveMenuItem()
- MenuLinkContentId::getArgument in src/
Plugin/ views/ argument_default/ MenuLinkContentId.php - Return the default argument.
File
- src/
Plugin/ views/ argument_default/ MenuLinkContentId.php, line 161
Class
- MenuLinkContentId
- Active menu item id default argument.
Namespace
Drupal\menu_item_extras\Plugin\views\argument_defaultCode
public function getActiveMenuItem(array $menu_level, $current_path) {
$active_item = NULL;
/** @var \Drupal\Core\Menu\MenuLinkTreeElement[] $menu_level */
foreach ($menu_level as $menu_item) {
if ($menu_item->inActiveTrail) {
/** @var \Drupal\menu_link_content\Plugin\Menu\MenuLinkContent $link */
$link = $menu_item->link;
/** @var \Drupal\Core\Url $url_object */
$url_object = $link
->getUrlObject();
$item_path = $url_object
->toString();
if ($item_path === $current_path) {
$active_item = $menu_item;
}
if ($menu_item->subtree && !$active_item) {
$active_item = $this
->getActiveMenuItem($menu_item->subtree, $current_path);
}
}
}
return $active_item;
}