所以我尝试在 block 内显示自定义 list.phtml 文件。 没关系,我可以显示类别 ID 为 6 的所有产品。
{{block type="catalog/product_list" category_id="6" template="catalog/product/list.phtml"}}
以上效果很好。但现在我想访问类别 id 6 的名称,我将如何从 list.phtml 中甚至从不同的 block 中执行此操作。我只需要 id =6 的类别名称。
最佳答案
在list.phtml block 模板中,您可以使用
获取类别名称
<?php echo $this->getLayer()->getCurrentCategory()->getName() ?>
在本例中,当前类别由 _getProductCollection()
调用中的 catalog/product_list
block 在图层上设置。
在 CMS 页面内容中,我无法直接访问类别名称。
从不同的 block 获取类别名称可能会更复杂。你可以试试
<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?>
当然,可能会出现在图层实例上没有设置当前类别的情况,因此请务必检查这一点以避免出现难看的错误。
基本上,如果 catalog/product_list
产品列表 block 的 _beforeToHtml()
方法已执行,则当前类别将设置在图层上。
编辑: 所有这些都是假设您想要获取类别名称而不再次指定类别 ID。如果您不关心这一点,您可以随时获取类别名称
<?php echo Mage::getModel('catalog/category')->load($this->getCategoryId())->getName() ?>
关于php - 如何从 Magento 中的 list.phtml 获取类别名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9534236/