如何在magento的Topmenu中检索父类别图像?

时间:2013-03-14 15:44:51

标签: magento zend-framework menu magento-1.7 categories

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()
        );

我想使用缩略图图片进行展示。提前谢谢......

2 个答案:

答案 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>';