public static function MenuLink::buildFromRouterItem

Builds a menu link entity from a router item.

Parameters

array $item: A menu router item.

Return value

\Drupal\menu_link\MenuLinkInterface A menu link entity.

Overrides MenuLinkInterface::buildFromRouterItem

2 calls to MenuLink::buildFromRouterItem()
MenuLink::reset in drupal/core/modules/menu_link/lib/Drupal/menu_link/Plugin/Core/Entity/MenuLink.php
Resets a system-defined menu link.
_menu_navigation_links_rebuild in drupal/core/includes/menu.inc
Builds menu links for the items in the menu router.

File

drupal/core/modules/menu_link/lib/Drupal/menu_link/Plugin/Core/Entity/MenuLink.php, line 327
Contains \Drupal\menu_link\Plugin\Core\Entity\MenuLink.

Class

MenuLink
Defines the menu link entity class.

Namespace

Drupal\menu_link\Plugin\Core\Entity

Code

public static function buildFromRouterItem(array $item) {

  // Suggested items are disabled by default.
  if ($item['type'] == MENU_SUGGESTED_ITEM) {
    $item['hidden'] = 1;
  }
  elseif (!($item['type'] & MENU_VISIBLE_IN_TREE)) {
    $item['hidden'] = -1;
  }

  // Note, we set this as 'system', so that we can be sure to distinguish all
  // the menu links generated automatically from entries in {menu_router}.
  $item['module'] = 'system';
  $item += array(
    'link_title' => $item['title'],
    'link_path' => $item['path'],
    'options' => empty($item['description']) ? array() : array(
      'attributes' => array(
        'title' => $item['description'],
      ),
    ),
  );
  return \Drupal::entityManager()
    ->getStorageController('menu_link')
    ->create($item);
}