private function toStringRecursive(ActiveTreeNode $node, $level, $output) { $node->load(); $parentID = $node->getFieldValue(self::PARENT_NODE_FIELD_NAME) ? $node->getFieldValue(self::PARENT_NODE_FIELD_NAME)->getID() : 'root'; $lft = $node->getFieldValue(self::LEFT_NODE_FIELD_NAME); $rgt = $node->getFieldValue(self::RIGHT_NODE_FIELD_NAME); $name = $node->getFieldValue('name'); $name = isset($name['en']) ? $name['en'] : ''; $output .= str_repeat(" ", $level * 4) . "{$name}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t [ID=" . $node->getID() . "; PID={$parentID}; LFT={$lft}; RGT={$rgt}] \n"; $childNodes = $node->getChildNodes(true, true); foreach ($childNodes as $child) { $output = $this->toStringRecursive($child, $level + 1, $output); } return $output; }