public function MenuLinkContentId::getArgument in Menu Item Extras 8.2
Return the default argument.
This needs to be overridden by every default argument handler to properly do what is needed.
Overrides ArgumentDefaultPluginBase::getArgument
File
- src/
Plugin/ views/ argument_default/ MenuLinkContentId.php, line 131
Class
- MenuLinkContentId
- Active menu item id default argument.
Namespace
Drupal\menu_item_extras\Plugin\views\argument_defaultCode
public function getArgument() {
if ($this->options['menu']) {
$current_path = $this->currentRequest
->getRequestUri();
/** @var \Drupal\Core\Menu\MenuTreeParameters $parameters */
$parameters = $this->menuTree
->getCurrentRouteMenuTreeParameters($this->options['menu']);
$parameters
->onlyEnabledLinks();
/** @var \Drupal\Core\Menu\MenuLinkTreeElement[] $menu_level */
$menu_level = $this->menuTree
->load($this->options['menu'], $parameters);
/** @var \Drupal\Core\Menu\MenuLinkTreeElement $active_item */
$active_item = $this
->getActiveMenuItem($menu_level, $current_path);
if ($active_item) {
/** @var \Drupal\Core\Menu\MenuLinkInterface $link */
$link = $active_item->link;
$metadata = $link
->getMetaData();
return $metadata['entity_id'];
}
}
}