Я работал над новым проектом на Magento вчера, и мы хотели показать миниатюру на навигационном меню. У нас есть возможность добавить миниатюру и главное изображение из административной панели Magento, но Magento не отображает это в меню по умолчанию.

Моя версия Magento 1.8, шаги следующие:

1 Добавить изображение миниатюры из бэкенда

2 – Скопируйте /app/code/core/Mage/Catalog/Model/Observer.php в /app/code/local/Mage/Catalog/Observer.php и внесите следующие изменения в имя функции: _addCategoriesToMenu

[sh lang="php"]

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

[/sh]

);
add ‘’thumbnail’ => Mage::getModel(‘catalog/category’)->load($category->getId())->getThumbnail()

Шаг 3:

Скопируйте app/code/core/Mage/Page/Block/Html/Topmenu.php в app/code/local/Mage/Page/Block/Html/Topmenu.php

Затем внесите следующие изменения в функцию: _getHtml

[sh lang="php"]


if($childLevel < 1 ){
$img_urls = Mage::getBaseUrl(‘media’).’catalog/category/’.$child->getData(‘thumbnail’);
$img = ‘<img src=”‘.$img_urls.'” />’;
}

$html .= ‘<li ‘ . $this->_getRenderedMenuItemAttributes($child) . ‘>’;
$html .= ‘<a href=”‘ . $child->getUrl() . ‘” ‘ . $outermostClassCode . ‘><span>’
. $this->escapeHtml($child->getName()) . ‘ </span> ‘.$img.’ </a>’;

[/sh]

Я сначала попытался следовать этой статье: http://www.h-o.nl/blog/using_category_images_in_your_magento_navigation/

но это не работает для меня, так что если вышеуказанное предложение не сработает, пожалуйста, попробуйте это тоже