Magento动态diplaying类树

时间:2016-08-22 11:30:03

标签: php magento

我需要在响应式菜单中将我的类别树显示为列表。 想法是显示最高级别的类别。并动态创建一个列表,该列表将显示给每个有孩子的类别。

我偶然发现了一段对我有所帮助的代码,但我无法弄清楚如何完成工作。

以下是代码:

<?php
$rootCatId = Mage::app()->getStore()->getRootCategoryId();

function getTreeCategories($parentId, $isChild){
    $allCats = Mage::getModel('catalog/category')->getCollection()
                ->addAttributeToSelect('*')
                ->addAttributeToFilter('is_active','1')
                ->addAttributeToFilter('include_in_menu','1')
                ->addAttributeToFilter('parent_id',array('eq' => $parentId));

    $class = ($isChild) ? "sub-cat-list" : "cat-list";
    $html .= '<ul class="'.$class.'">';
    $children = Mage::getModel('catalog/category')->getCategories(7);
    foreach ($children as $category) {
    {
        $html .= '<li>'.$category->getName()."";
        $subcats = $category->getChildren();
        if($subcats != ''){
            $html .= getTreeCategories($category->getId(), true);
        }
        $html .= '</li>';
    }
    $html .= '</ul>';
    return $html;
}
$catlistHtml = getTreeCategories($rootCatId, false);

echo $catlistHtml;

?>

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用它来创建类别树:

SPTArtist.artistWithURI(artistUri, accessToken: self.auth.session.accessToken) { error, result in

guard error == nil else {
    let alert = UIAlertController(title: "Error", message: error!.localizedDescription, preferredStyle: .Alert)
    self.presentViewController(alert, animated: true, completion: nil)
    return
}                               
print("music genres by artist: \(result.genres)")

对于显示/隐藏类别和子类别的效果,您可以使用普通css或jQuery / Prototype。