Networking\InitCmsBundle\Menu\MenuBuilder::showOnlyCurrentChildren PHP 메소드

showOnlyCurrentChildren() 공개 메소드

Set the children menu item nodes to be shown only if the node is current or the parent is a current ancestor
public showOnlyCurrentChildren ( Knp\Menu\ItemInterface $menu )
$menu Knp\Menu\ItemInterface
    public function showOnlyCurrentChildren(ItemInterface $menu)
    {
        $itemIterator = new RecursiveItemIterator($menu->getIterator());
        $iterator = new \RecursiveIteratorIterator($itemIterator, \RecursiveIteratorIterator::SELF_FIRST);
        foreach ($iterator as $menuItem) {
            /** @var \Knp\Menu\MenuItem $menuItem */
            if (!$this->matcher->isCurrent($menuItem) && !$this->matcher->isAncestor($menuItem)) {
                $menuItem->setDisplayChildren(false);
            }
        }
    }