0

我正在做这个。如果我们去一个特定的产品,那么该产品将被完美地展示出来。但是如果我们通过在搜索栏中找到任何产品,它会显示为这样。呈现此显示的页面是相同的。我猜问题出在“$parentId = Mage::registry('current_category')->getParentId();” 问题是“当前类别”。请提出一些 if 条件,以便它可以正确显示导航和搜索项目的内容。我的代码是这样的。请帮助我。

<?php 
$parentId = Mage::registry('current_category')->getParentId();
$parent = Mage::getModel('catalog/category')->load($parentId);
$parentname = $parent->getName();
?>
4

1 回答 1

0

当您从类别页面转到产品页面时,Magento 会保存该路径,它也显示在 url 和面包屑中。当您直接进入产品页面时,Magento 对当前类别一无所知,因为产品可能有很多类别或根本没有类别。

您可以尝试从注册表中获取当前类别,然后检查它是否为空:

$currentCat = Mage::registry('current_category');
if ($currentCat) {
$parent = Mage::getModel('catalog/category')->load($currentCat->getParentId());
//do what you need with parent
}

如果您的产品页面布局需要,您还可以通过获取当前产品的所有类别并获取其中一个的父类别来获取某些父类别。

于 2013-04-17T07:18:01.850 回答