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、付费专栏及课程。

余额充值