magento 获取所有分类并打印

代码:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$path = __DIR__;
require_once $path.'/../app/Mage.php';   // 根据实际修改
umask(0);
Mage::app('default');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

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 = 0;
    $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('id')
        ->addAttributeToSelect('is_active');

    $tree->addCollectionData($collection, true);

    return nodeToArray($root);
}

function print_tree($tree, $level) {
    $level++;
    foreach ($tree as $item) {
        if ($level > 2) {
            echo '&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#CCC">|</span>';
        }
        echo str_repeat("&nbsp;&nbsp;", $level) . '<span style="color:#CCC">|------</span>' . $item['name'] . '[<span style="color:#00F">' . $item['category_id'] . "</span>]<br>";
        print_tree($item['children'], $level);
    }
}

$tree = load_tree();
print_tree($tree['children'], 0);

注: 部分代码参考自网络

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值