gpt4 book ai didi

php - 如何在 magento 中获取当前产品的类别名称(在产品详细信息页面上)

转载 作者:可可西里 更新时间:2023-11-01 13:04:13 25 4
gpt4 key购买 nike

我使用了以下代码,但在这种情况下不起作用:

$_category_detail=Mage::registry('current_category');
echo $_category_detail->getName();

得到 fatal error :在/app/design/frontend/base/default/template/catalog/product/view.phtml 中的非对象上调用成员函数 getName()

我们制作一些过滤器并在 head.phtml 中使用下面提到的代码:

$is_product = Mage::registry('product');

if($is_product){

if(is_object(Mage::registry('current_category'))){
$category_name = Mage::registry('current_category')->getName();
}
else{ $category_name = ""; }

}

但这只适用于从类别到产品的情况。如果您直接访问产品页面,则不会显示任何内容

最佳答案

这是因为产品可以附加到多个类别。在您的情况下,当您访问从类别页面引用的产品页面时,您的 session 包含类别信息。但是如果你直接访问产品页面,Magento 无法知道你来自哪个类别,所以它不能显示你具体的类别,因为你的产品可以有多个类别。

但是在你的情况下,如果你的产品只附加了一个类别,你可以使用这个代码,它显示产品的第一个类别名称;

        $categoryIds = $_product->getCategoryIds();

if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);

echo $_category->getName();
}

关于php - 如何在 magento 中获取当前产品的类别名称(在产品详细信息页面上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18053742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com