magento 如何检索 Topmenu 中的父类别图片。当点击或鼠标悬停在尊重的父菜单上时,我必须显示父类别图像。我已经尝试了下面提到的代码,但我得到了所有的类别图像。如果我在前端显示它都显示在尊重的菜单下。可以指导我如何显示正确的图像?我的magento版本是1.7.0.2。
$ categoryData = array(
'name' => $category->getName(),
'id' => $nodeId,
'url' => Mage::helper('catalog/category')->getCategoryUrl($category),
'is_active' => $this->_isActiveMenuCategory($category),
'links' => $cat->getData('links'),
'image' => $cat->getImageUrl('image'),
'thumbnail' => $cat->getThumbnail(),
'getLevel' => $category->getLevel()
);
我想使用缩略图图片进行展示。提前谢谢......
答案 0 :(得分:1)
最后我得到了解决方案,并在下面分享答案。我可以使用' getLevel '属性来查找所有菜单的位置。然后我找到父菜单并在Topmenu中显示受尊重的图像。
它被添加到模型文件中。 (/app/code/core/Mage/Catalog/Model/Observer.php)
功能名称: _addCategoriesToMenu
$categoryData = array(
'name' => $category->getName(),
'id' => $nodeId,
'url' => Mage::helper('catalog/category')->getCategoryUrl($category),
'is_active' => $this->_isActiveMenuCategory($category),
'links' => $cat->getData('links'),
'image' => $cat->getImageUrl('image'),
'thumbnail' => $cat->getThumbnail(),
'getLevel' => $category->getLevel()
);
添加在Html文件夹中。 (应用程序/代码/核心/法师/页/块/ HTML / Topmenu.php)
功能名称: _getHtml
$parentLevels = $child->getLevel();
if($parentLevels == 0)
{
$urls = Mage::getBaseUrl('media').'catalog/category/'.$child->getData('thumbnail');
$html .= '<img src="'.$urls.'" />';
}
答案 1 :(得分:-1)
此解决方案适用于Magento -1.8。*
在模型文件中。 (/app/code/core/Mage/Catalog/Model/Observer.php)
更新以下函数名称中的代码:_addCategoriesToMenu
$categoryData = array(
'name' => $category->getName(),
'id' => $nodeId,
'url' => Mage::helper('catalog/category')->getCategoryUrl($category),
'is_active' => $this->_isActiveMenuCategory($category),
'thumbnail' => Mage::getModel('catalog/category')->load($category->getId())->getThumbnail()
);
然后进入Html文件夹。 (应用程序/代码/核心/法师/页/块/ HTML / Topmenu.php)
在
的第128行更新以下代码行功能名称:_getHtml
if($childLevel < 1 ){
$urls = Mage::getBaseUrl('media').'catalog/category/'.$child->getData('thumbnail');
$img = '<img src="'.$urls.'" />';
}
$html .= '<li ' . $this->_getRenderedMenuItemAttributes($child) . '>';
$html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>'
. $this->escapeHtml($child->getName()) . ' </span> '.$img.' </a>';