所以我试图在一个块中显示一个自定义的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() ?>