如何在Magento中从list.phtml中获取类别名称


How to get the category name from list.phtml in Magento

所以我试图在一个块中显示一个自定义的list.phtml文件。没关系,我可以展示所有类别id为6的产品。

{{block type="catalog/product_list" category_id="6" template="catalog/product/list.phtml"}}

以上操作很好。但现在我想访问类别id 6的名称,我该如何从list.phtml甚至从不同的块中进行访问。我只需要id=6的类别的名称。

在list.phtml块模板中,您可以使用
获取类别名称

<?php echo $this->getLayer()->getCurrentCategory()->getName() ?>

在这种情况下,当前类别由_getProductCollection()调用中的catalog/product_list块在层上设置。

在CMS页面内容中,我不知道如何直接访问类别名称
从不同的块获取类别名称可能会涉及更多。您可以尝试

<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?>

当然,可能是在层实例上没有设置当前类别的情况,所以一定要检查一下,以避免出现难看的错误
基本上,如果已经执行了catalog/product_list产品列表块的_beforeToHtml()方法,则将在层上设置当前类别。

编辑:所有这些都假设您希望在不重新指定类别ID的情况下获得类别名称。如果你不在乎,你总是可以用

<?php echo Mage::getModel('catalog/category')->load($this->getCategoryId())->getName() ?>