/** * Add parent nodes to the index document * * @param Node $node * @param array $doc * * @return array */ protected function addParentAndAncestors($node, &$doc) { $parent = $node->getParent(); if ($parent) { $doc['parent'] = $parent->getId(); $ancestors = array(); do { $ancestors[] = $parent->getId(); $parent = $parent->getParent(); } while ($parent); $doc['ancestors'] = $ancestors; } }
/** * @param Node $node * * @return NodeMenuItem */ public function getParent(Node $node) { if ($node->getParent() && array_key_exists($node->getParent()->getId(), $this->allNodes)) { return $this->allNodes[$node->getParent()->getId()]; } return false; }