我正在尝试获取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框架中?
非常感谢任何帮助。感谢。
答案 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>