0

magentoでTopmenuの親カテゴリの画像を取得する方法。尊敬される親メニューをクリックまたはマウスオーバーすると、親カテゴリの画像を表示する必要があります。以下のコードを試してみましたが、すべてのカテゴリ画像を取得しました。フロントエンドに表示すると、すべてのメニューの下に表示されます。正しい画像を表示する方法を教えてもらえますか? 私のマジェントのバージョンは1.7.0.2です。

$categoryData = 配列(

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

サムネイル画像を使用して表示したい。前もって感謝します...

4

2 に答える 2

1

最後に、これに対する解決策を得て、以下の回答を共有します。「 getLevel 」属性を使用して、すべてのメニューの位置を見つけることができます。次に、親メニューを見つけて、尊敬される画像をトップメニューに表示します。

モデルファイルに追加されます。(/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.'" />';
        }
于 2013-03-15T05:43:14.200 に答える
-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>';
于 2013-11-11T10:45:25.513 に答える