0

我正在尝试获取 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 文档参考(请参阅顶部的 Mage:Catalog 和侧面的 Mage_Catalog_Model_Category)。

它清楚地表明这string getImageUrl ()是该类的可用方法,但是我显然不能调用它。

我想知道为什么在上面这个方法不可用,更一般地说,为什么很多方法似乎不能从一个类中使用,所以我可以理解如何在未来解决这些重复出现的问题.

所以,我的问题是,上面需要什么才能使该getImageUrl方法可用,并且通常我如何确定需要添加什么才能使文档中的其他方法在 Magento 框架中“默认”不可用?

任何帮助将不胜感激。谢谢。

4

1 回答 1

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>
于 2012-10-03T16:34:43.627 回答