从Magento中的子类别列表中获取名称和图像

时间:2012-10-03 16:26:49

标签: php magento magento-1.7

我正在尝试获取Magento类别的所有子类别并显示其名称和图像。

到目前为止,我有:

$children = Mage::getModel('catalog/category')->getCategories(28);

foreach ($children as $category) {
    echo "name: " . $category->getName() . "<br>"; 
    echo "image: " . $category->getImageUrl() . "<br>"; 
}

$category->getName()有效,但$category->getImageUrl()似乎没有。

我正在关注目录/类别模型的Magento docs参考(参见Mage:顶部的目录,然后是侧面的Mage_Catalog_Model_Category)。

它明确指出string getImageUrl ()是该类的可用方法,但我显然不能称之为。

我想知道为什么在上面这个方法不可用,而且更一般地说,为什么很多方法似乎没有从类中获得,所以我可以理解如何解决这些反复出现的问题在将来。

所以,我的问题是,上面需要什么才能使getImageUrl方法可用,而且,通常我如何确定需要添加什么来制作文档中的其他方法但是'default'不可用在Magento框架中?

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

试一试: -

<?php
    //gets all sub categories of parent category
    $cats = Mage::getModel('catalog/category')->load(6)->getChildren();
    $catIds = explode(',',$cats);

    $categories = array();
    foreach($catIds as $catId) {
        $category = Mage::getModel('catalog/category')->load($catId); 
        $categories[$category->getName()] = array(
            'url' => $category->getUrl(),
            'img' => $category->getImageUrl()
        );
    }

    ksort($categories, SORT_STRING);
?>
    <ul>
        <?php foreach($categories as $name => $data): ?>
            <li>
                <a href="<?php echo $data['url']; ?>" title="<?php echo $name; ?>">
                    <img class="cat-image" src="<?php echo $data['img']; ?>" />
                </a>
            </li>   
        <?php endforeach; ?>
    </ul>