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

mol*_*man 12 php magento

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

{{block type="catalog/product_list" category_id="6" template="catalog/product/list.phtml"}}
Run Code Online (Sandbox Code Playgroud)

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

Vin*_*nai 39

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

<?php echo $this->getLayer()->getCurrentCategory()->getName() ?>
Run Code Online (Sandbox Code Playgroud)

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

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

<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?>
Run Code Online (Sandbox Code Playgroud)

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

编辑: 所有这一切都假设你想获得类别名称而不再指定类别ID.如果您不关心,您可以随时获取类别名称

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

  • `<?php echo Mage :: getModel('catalog/category') - > load($ this-> getCategoryId()) - > getName()?>`应该绝对有效. (2认同)