2012-09-19 79 views
2

我正在尋找一個能夠解釋「樹」,「節點」和「集合」的概念的Magento細節方面的人。例如,在下面的代碼中,getStoreCategories()方法將返回可枚舉的Varien_Data_Tree_Node_Collection實例,$ child將是Varien_Data_Tree_Node類型的對象。一般來說,Magento在樹,節點和集合中意味着什麼。Magento樹節點集合

foreach ($this->getStoreCategories() as $child) { 
      if ($child->getIsActive()) { 
       $activeCategories[] = $child; 
      } 

     } 

謝謝!

回答

1

集合 - 純數據,不包含嵌套。 樹 - 數據,可以嵌套。 節點 - 樹的分支,可以有它自己的分支。

樹被用於類別,因爲類別可以互相嵌套。產品,訂單等結構簡單,所以不需要使用節點,只需使用普通的簡單集合。

1

Tree_Node_Collection只是指數據的層次結構。

而不是作爲一個平面集合(例如在一個隊列中的所有項目)存儲的數據是分層的。

例如,對於類別或菜單結構,每個節點都可以有子樹,它們實際上只是具有更多子級的更多節點。

集合沒有層次的概念,沒有父子關係等

樹結構使得它更容易遍歷,所有兒童的類別,例如,包括他們的孩子,多層次深。