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

时间:2012-03-02 13:38:07

标签: php magento

所以我试图在一个块中显示一个自定义的list.phtml文件。 多数民众赞成我能够显示所有类别为id 6的产品。

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

以上工作正常。但是现在我想要访问类别id 6的名称,我将如何从list.phtml中或甚至在不同的块中执行此操作。我只需要id = 6的类别名称。

1 个答案:

答案 0 :(得分:39)

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

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

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

在CMS页面内容中,我无法直接访问类别名称 从不同的块获取类别名称可能更复杂。你可以试试

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

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

修改 所有这一切都假设您想要获取类别名称而不再指定类别ID。如果您不关心,您可以随时获取类别名称

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