|
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;
} |

被折叠的 条评论
为什么被折叠?



