Menus
Last updated
Was this helpful?
Was this helpful?
/**
* {@inheritdoc}
*/
protected function getResolverRegistry() {
...
// Menu query.
$registry->addFieldResolver('Query', 'menu',
$builder->produce('entity_load')
->map('type', $builder->fromValue('menu'))
->map('id', $builder->fromArgument('name'))
);
// Menu name.
$registry->addFieldResolver('Menu', 'name',
$builder->produce('property_path')
->map('type', $builder->fromValue('entity:menu'))
->map('value', $builder->fromParent())
->map('path', $builder->fromValue('label'))
);
// Menu items.
$registry->addFieldResolver('Menu', 'items',
$builder->produce('menu_links')
->map('menu', $builder->fromParent())
);
// Menu title.
$registry->addFieldResolver('MenuItem', 'title',
$builder->produce('menu_link_label')
->map('link', $builder->produce('menu_tree_link')
->map('element', $builder->fromParent()))
);
// Menu children.
$registry->addFieldResolver('MenuItem', 'children',
$builder->produce('menu_tree_subtree')
->map('element', $builder->fromParent())
);
// Menu url.
$registry->addFieldResolver('MenuItem', 'url',
$builder->produce('menu_link_url')
->map('link', $builder->produce('menu_tree_link')
->map('element', $builder->fromParent()))
);
$registry->addFieldResolver('Url', 'path',
$builder->produce('url_path')
->map('url', $builder->fromParent())
);
...
return $registry;
}