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 ;
} |
magento 获取无限级分类(通过parentId) 1
最新推荐文章于 2021-05-27 17:48:25 发布