diff --git a/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php b/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php index fe27ea9b6..0e454cfd0 100644 --- a/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php +++ b/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php @@ -91,7 +91,9 @@ public function resolve(MenuInterface $menu) { ]; return array_filter($this->menuLinkTree->transform($tree, $manipulators), function (MenuLinkTreeElement $item) { - return $item->link instanceof MenuLinkInterface && $item->link->isEnabled(); + return $item->link instanceof MenuLinkInterface + && $item->link->isEnabled() + && (!isset($item->access) || $item->access->isAllowed()); }); } diff --git a/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php b/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php index a3488fae1..f53886f44 100644 --- a/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php +++ b/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php @@ -36,7 +36,7 @@ class MenuTreeSubtree extends DataProducerPluginBase { */ public function resolve(MenuLinkTreeElement $element) { return array_filter($element->subtree, function (MenuLinkTreeElement $item) { - return $item->link->isEnabled(); + return $item->link->isEnabled() && (!isset($item->access) || $item->access->isAllowed()); }); }