/** * @param RokMenuNodeBase $node * @return bool */ public function addNode(RokMenuNodeBase &$node) { if ($node->getParent() == $this->rootid) { $this->addChild($node); $node->setLevel(0); return true; } else { $iterator = $this->getIterator(); $childrenIterator = new RecursiveIteratorIterator(new RokMenuIdFilter($iterator, $node->getParent()), RecursiveIteratorIterator::SELF_FIRST); foreach ($childrenIterator as $child) { if ($child->getId() == $node->getParent()) { $child->addChild($node); $node->setLevel($childrenIterator->getDepth() + 1); return true; } } } return false; }
public function addChild(RokMenuNodeBase &$node) { parent::addChild($node); $this->addListItemClass(self::PARENT_CSS_CLASS); }
public function __construct(RokMenuNodeBase $menuNode) { $this->ar =& $menuNode->getChildren(); }
/** * @param RokMenuNodeBase $node * @return void */ public function addChild(RokMenuNodeBase &$node) { if (null == $this->children) { $this->children = array(); } $node->setParentRef($this); $node->setLevel($this->getLevel() + 1); $this->children[$node->getId()] = $node; }