get menu link Page Settings from View configuration When I have a node on the main menu, I can find its Menu Settings with an entityQuery on the content entity for its menu link, for example:

$system_uri = "entity:node/42";
$query = \Drupal::entityQuery('menu_link_content')
  -&gt;condition('menu_name', 'main')
  -&gt;condition('link.uri', $system_uri);
$result = $query-&gt;execute();
$menu_link_id = reset($result);
$menu_link = MenuLinkContent::load($menu_link_id);


... then get the Menu Link Title and Parent Item with these methods from the relevant class:

$menu_link_title = $menu_link-&gt;getTitle();
$menu_link_parent = $menu_link-&gt;getParentId();


I can't do the same thing with a view.  Even an entityQuery of all menu_link_content entities on the main menu doesn't return views that are on that menu: only nodes and taxonomy term entities.

And I can't see these settings in what I believed would be the corresponding configuration entity for a View, for example:

$view_id = 'frontpage';
$query = \Drupal::entityQuery('view')
  -&gt;condition('id', $view_id);
$result = $query-&gt;execute();
$view_id = reset($result);
$view = \Drupal::service('entity.manager')-&gt;getStorage('view')-&gt;load($view_id);


The resulting Drupal\views\Entity\View object doesn't look like it has any properties or methods to access the configuration data in the Views UI, specifically the Menu Link Title and Parent under Page Settings.  What is the correct way to extract this information?
The menu tree is built from two sources, menu link content and menu config. For views you find the menu configuration in each view. There are several ways to access this information. You can use the config api to read the values in php, export the view to a yml file and inspect it or use drush.

For example to show the view for block content with drush:

drush cedit views.view.block_content


This contains this configuration for the page:

 page_1:
    display_plugin: page
    id: page_1
    display_title: Page
    position: 1
    display_options:
      display_extenders: {  }
      path: admin/structure/block/block-content
      menu:
        type: tab
        title: 'Custom block library'
        description: ''
        parent: block.admin_display
        weight: 0
        context: '0'
        menu_name: admin
    cache_metadata:
      max-age: 0
      contexts:
        - 'languages:language_content'
        - 'languages:language_interface'
        - url
        - url.query_args
        - user.permissions
      tags: {  }


After inspection the structure of this array you can use the configuration api to access it in php:

Simple Configuration API