Magento树节点集合

时间:2012-09-19 21:24:29

标签: php magento

我正在寻找可以解释“树”概念的人,“节点”和“集合” 就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;
            }

        }

谢谢!

2 个答案:

答案 0 :(得分:1)

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

树在类别中使用,因为类别可以彼此嵌套。产品,订单等都有简单的结构,所以不需要使用节点,只需使用普通的普通集合。

答案 1 :(得分:1)

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

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

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

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

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