magento 获取无限级分类(通过parentId) 1

magento 获取无限级分类(通过parentId)

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
public function getCategoryHtml($categoryId ''$layer ''$store_id = null){ 
        $store_id $store_id == null ? Mage::app()->getStore()->getId() : $store_id
        $categoryM = Mage::getModel('catalog/category'); 
        $categoryC $categoryM->getCollection(); 
    
        foreach ($categoryC as $category) { 
            $M = Mage::getModel('catalog/category')->setStoreId($store_id)->load($category->getEntityId()); 
            $categoryData[$M->getEntityId()]['id']   = $M->getEntityId(); 
            $categoryData[$M->getEntityId()]['name'] = $M->getName(); 
            $categoryData[$M->getEntityId()]['path'] = explode('/'$M->getPath()); 
        
        sort($categoryData); 
        //print_r($categoryData); 
        $categoryTree $this->getChild($categoryId,$layer-1, $categoryData); 
        return $categoryTree
    
    
    public function getChild($parentId,$layer,$categoryData){ 
    
        $parentId $parentId?$parentId:1; 
                
        $html .= '<ul>'
        $categoryThisLevel array(); 
                
        for ($i = 0; $i count($categoryData); $i++) { 
            for ($j = 0; $j count($categoryData[$i]['path']); $j++) { 
                if($categoryData[$i]['path'][$j] == $parentId){ 
                    if($j+2 == count($categoryData[$i]['path'])){ 
                        $category = Mage::getModel('catalog/category')->load($categoryData[$i]['path'][$j+1]); 
                        if($category->getName() && !in_array($category->getEntityId(), $categoryThisLevel)){ 
                            $html .= '<li>'
                            $html .= '<a href="'.$category->getUrl().'">'.$category->getName().'</a><br/>'
                            //echo $layer.')<a href="'.Mage::getUrl('*/*/',array('id'=>$category->getEntityId())).'">'.$category->getName().'</a><br/>'; 
                            if($layer && $categoryData[$i]['path'][$j] != end($categoryData[$i]['path'])){ 
                                $html .= $this->getChild($category->getEntityId(), $layer - 1, $categoryData); 
                            
                            $html .= '</li>'
                            $categoryThisLevel[] = $category->getEntityId(); 
                            //echo $i.')level:  '.$parentId.' id:'.$j.' path:'.$categoryData[$i]['path'][$j].' name:'.$categoryM->getName().'<br/>'; 
                        
                    
                
            
        
        $html .= '</ul>'
        return $html
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值