Hé, je charge un menu drupal 8 de la manière suivante:
if ($menu != NULL) {
$tree = \Drupal::menuTree()
->load("my_menu", new MenuTreeParameters());
Cela renvoie les objets MenuLinkTreeElement. Il ne semble pas possible de récupérer les champs attachés à l'élément de menu.
Comment puis je faire ça? Dois-je charger le menu via une autre fonction?
Vous pouvez obtenir l'entité de contenu de lien de menu en accédant à l'uuid avec la méthode getDerivativeId()
du plugin:
if ($link instanceof \Drupal\menu_link_content\Plugin\Menu\MenuLinkContent) {
$uuid = $link->getDerivativeId();
$entity = \Drupal::service('entity.repository')
->loadEntityByUuid('menu_link_content', $uuid);
$field_value = $entity->field_example->value;
}