1
|
/app/code/core/Mage/Catalog/Block/Navigation.php
|
这里有Magento相关的函数可以调用,
或者也可以通过自己写些代码获取Magento所有分类,示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
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('id')
->addAttributeToSelect( 'is_active' );
$tree ->addCollectionData( $collection , true);
return nodeToArray( $root );
}
function print_tree( $tree , $level ) {
$level ++;
foreach ( $tree as $item ) {
echo str_repeat ( "*" , $level ). $item [ 'name' ]. '*' . $item [ 'category_id' ]. "" ;
print_tree( $item [ 'children' ], $level );
}
}
$tree = load_tree();
print_tree( $tree [ 'children' ],0);
|