Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Tree.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Framework\Data;
7 
10 
18 class Tree
19 {
25  protected $_nodes;
26 
31  public function __construct()
32  {
33  $this->_nodes = new NodeCollection($this);
34  }
35 
41  public function getTree()
42  {
43  return $this;
44  }
45 
53  public function load($parentNode = null)
54  {
55  }
56 
64  public function loadNode($nodeId)
65  {
66  }
67 
77  public function appendChild($data, $parentNode, $prevNode = null)
78  {
79  if (is_array($data)) {
80  $node = $this->addNode(new Node($data, $parentNode->getIdField(), $this), $parentNode);
81  } elseif ($data instanceof Node) {
82  $node = $this->addNode($data, $parentNode);
83  }
84  return $node;
85  }
86 
94  public function addNode($node, $parent = null)
95  {
96  $this->_nodes->add($node);
97  $node->setParent($parent);
98  if ($parent !== null && $parent instanceof Node) {
99  $parent->addChild($node);
100  }
101  return $node;
102  }
103 
113  public function moveNodeTo($node, $parentNode, $prevNode = null)
114  {
115  }
116 
126  public function copyNodeTo($node, $parentNode, $prevNode = null)
127  {
128  }
129 
136  public function removeNode($node)
137  {
138  $this->_nodes->delete($node);
139  if ($node->getParent()) {
140  $node->getParent()->removeChild($node);
141  }
142  unset($node);
143  return $this;
144  }
145 
154  public function createNode($parentNode, $prevNode = null)
155  {
156  }
157 
165  public function getChild($node)
166  {
167  }
168 
176  public function getChildren($node)
177  {
178  }
179 
185  public function getNodes()
186  {
187  return $this->_nodes;
188  }
189 
196  public function getNodeById($nodeId)
197  {
198  return $this->_nodes->searchById($nodeId);
199  }
200 
207  public function getPath($node)
208  {
209  if ($node instanceof Node) {
210  } elseif (is_numeric($node)) {
211  if ($_node = $this->getNodeById($node)) {
212  return $_node->getPath();
213  }
214  }
215  return [];
216  }
217 }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
addNode($node, $parent=null)
Definition: Tree.php:94
appendChild($data, $parentNode, $prevNode=null)
Definition: Tree.php:77
moveNodeTo($node, $parentNode, $prevNode=null)
Definition: Tree.php:113
copyNodeTo($node, $parentNode, $prevNode=null)
Definition: Tree.php:126
createNode($parentNode, $prevNode=null)
Definition: Tree.php:154
load($parentNode=null)
Definition: Tree.php:53