/** * Generate node hidration * * @param NodeInterface $node Node * * @return array Node hidrated */ public function hidrateNode(NodeInterface $node) { return ['id' => $node->getId(), 'name' => $node->getName(), 'code' => $node->getCode(), 'url' => $node->getUrl(), 'subnodes' => $this->loadSubnodes($node)]; }
/** * Filter all menus without url that has no children * * @param NodeInterface $menuNode Menu node * * @return boolean Node must be rendered */ public function filter(NodeInterface $menuNode) { return !$menuNode->getSubnodes()->isEmpty() || $menuNode->getUrl(); }