1

我正在寻找可以根据 Magento 细节解释“树”、“节点”和“集合”概念的人。例如,在下面的代码中,getStoreCategories() 方法将返回 Varien_Data_Tree_Node_Collection 的一个实例,它是可枚举的,$child 将是 Varien_Data_Tree_Node 类型的对象。我一般问,Magento 的 Tree、Node 和 Collection 是什么意思。

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

        }

谢谢!

4

2 回答 2

1

Tree_Node_Collection 只是指数据的层次结构。

存储的数据不是一个平面集合(例如单个队列中的所有项目),而是分层的。

例如,对于类别或菜单结构,每个节点都可以有子树,这些子树本质上只是具有更多子节点的更多节点。

集合没有层次结构的概念,没有父子关系等。

树结构使得迭代更容易,例如所有子类别,包括他们的孩子,很多层次。

于 2012-09-20T08:06:43.817 回答
1

集合 - 纯数据,没有嵌套。树 - 可以嵌套的数据。node - 树的分支,可以有自己的分支。

树用于类别,因为类别可以相互嵌套。产品、订单等都是普通的结构,所以不需要使用节点,使用普通的普通集合即可。

于 2012-09-19T22:03:51.960 回答