最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

Magento 列出全部分类

magento 获得全部的产品分类,这段代码的好处就是可以放在任意的phtml文件中,并且做了诸多的条件判断。我们可以参考灵活运用,供初学者参考。

require_once "app/Mage.php";
Mage::app('1');

function nodeToArray(Varien_Data_Tree_Node $node) {
$result = array();
$result['category_id'] = $node->getId();
$result['parent_id'] = $node->getParentId();
$result['name'] = $node->getName();
$result['is_active'] = $node->getIsActive();
$result['position'] = $node->getPosition();
$result['level'] = $node->getLevel();
$result['children'] = array();

foreach ($node->getChildren() as $child) {
$result['children'][] = nodeToArray($child);
}

return $result;
}

function load_tree() {
$tree = Mage::getResourceSingleton('catalog/category_tree')->load();

$store = 1;
$parentId = 1;

$tree = Mage::getResourceSingleton('catalog/category_tree')->load();
$root = $tree->getNodeById($parentId);

if($root && $root->getId() == 1) {
$root->setName(Mage::helper('catalog')->__('Root'));
}

$collection = Mage::getModel('catalog/category')->getCollection()->setStoreId($store)->addAttributeToSelect('name')->addAttributeToSelect('is_active');
$tree->addCollectionData($collection, true);

return nodeToArray($root);

}

$cats = array();
function print_tree($tree,&$current_cat) {

foreach($tree as $item) {
$current_cat[$item['category_id']] = array();
$current_cat[$item['category_id']]['name'] = $item['name'];

if (count($item['children']) > 0) {
$current_cat[$item['category_id']]['children'] = array();
print_tree($item['children'], &$current_cat[$item['category_id']]['children'] );
}



}
return $current_cat;
}

$tree = load_tree();
$mytree = print_tree($tree['children'],&$cats);

print_r($cats); 

转载请注明:嗨酷哥,有你更酷! » Magento 列出全部分类

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项