我正在寻找可以解释“树”概念的人,“节点”和“集合” 就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;
}
}
谢谢!
答案 0 :(得分:1)
集合 - 纯数据,无需嵌套。 树 - 可以嵌套的数据。 node - 树的分支,可以有自己的分支。
树在类别中使用,因为类别可以彼此嵌套。产品,订单等都有简单的结构,所以不需要使用节点,只需使用普通的普通集合。
答案 1 :(得分:1)
Tree_Node_Collection只是指数据的层次结构。
存储的数据不是一个扁平集合(例如,单个队列中的所有项目),而是分层的。
例如,对于类别或菜单结构,每个节点都可以有子树,基本上只有更多子节点的节点。
集合没有层次结构的概念,没有父子关系等。
树结构使迭代变得容易得多,例如所有子类别,包括他们的孩子,都有很多层次。