Скачал модуль отсюда http://wmasteru.ru/threads/Платные-модули-для-opencart-бесплатно.4506/page-22#post-46698 Как отредактировать код чтобы выводился рисунки для меню первого категория уровня? хочу их с верху поставить. PHP: <?php $this->load->model('catalog/category');$this->load->model('tool/image'); $categories_1 = $this->model_catalog_category->getCategories(0); if ($categories_1) {$output = '<ul>';} $output .= '<li class="tlli"><a class="tll-home" href="index.php?route=common/home"><img src="image/home-menu.png" border="0" alt="<?php echo $text_home; ?>"/></a></li>';foreach ($categories_1 as $category_1) { $output .= '<li class="tlli">'; $testPath = $base.'image/'; $picCat = $this->model_tool_image->resize($category_1['image'], 190, 190); $unrewritten = $this->url->link('product/category', 'path=' . $category_1['category_id']); $output .= '<a class="tll" href="'.($unrewritten).'">' . $category_1['name'] . '</a>'; $categories_2 = $this->model_catalog_category->getCategories($category_1['category_id']); if ($categories_2) {$output .= '<div class="bigdiv" style="margin-left: 0px"><div class="supermenu-left" style="width: 930px;"><h2><div class="cat-logo"><a href="'.($unrewritten).'"><img src="'.$picCat.'" alt="' . $category_1['name'].'"/><span>' . $category_1['name'] . '</span></a></div></h2>';} foreach ($categories_2 as $category_2) { $subTestPath = $base.'image/'; if ($category_2['image']) { $picSubCat = $this->model_tool_image->resize($category_2['image'], 75, 75); } else { $picSubCat = $base.'image/no_image-menu.jpg'; }; $output .= '<div class="withchild">'; $sub_unrewritten = $this->url->link('product/category', 'path=' . $category_1['category_id'] . '_' . $category_2['category_id']); $output .= '<div class="box-name"><div><a href="'.($sub_unrewritten).'"><img align="middle" style="padding-right:2px; float:left;" src="'.$picSubCat.'" alt="' . $category_2['name'].'"/></a></div><div><a class="theparent" href="'.($sub_unrewritten).'"><span>' . $category_2['name'] . '</span></a></div></div>'; $categories_3 = $this->model_catalog_category->getCategories($category_2['category_id']); if ($categories_3) {$output .= '<ul class="child-level">';} foreach ($categories_3 as $category_3) { $output .= '<li>'; $third_sub_unrewritten = $this->url->link('product/category', 'path=' . $category_1['category_id'] . '_' . $category_2['category_id'] . '_' . $category_3['category_id']); $output .= '<a href="'.($third_sub_unrewritten).'">'.$category_3['name'].'</a>'; $output .= '</li>'; } if ($categories_3) {$output .= '</ul>';} $output .= '</div>'; } if ($categories_2) {$output .= '</div></div>';} $output .= '</li>';}if ($categories_1) {$output .= '</ul>';}echo $output;?>
Кому надо вот он, иконки для меню. Для второго уровня я убрал. Правда еще надо допилить, где меню "Электростанции" выпадающее меню вылезает за рамки. Вот демо http://passto8g.bget.ru/index.php?route=common/home PHP: <?php $this->load->model('catalog/category');$this->load->model('tool/image'); $categories_1 = $this->model_catalog_category->getCategories(0); if ($categories_1) {$output = '<ul>';} foreach ($categories_1 as $category_1) {$output .= '<li class="tlli">'; $testPath = $base.'image/'; $picCat = $this->model_tool_image->resize($category_1['image'], 80, 80);$unrewritten = $this->url->link('product/category', 'path=' . $category_1['category_id']); $categories_2 = $this->model_catalog_category->getCategories($category_1['category_id']); $output .= '<a href="'.($unrewritten).'"><img src="'.$picCat.'" alt="' . $category_1['name'].'"/><span class="tllispan">' . $category_1['name'] . '</span></a>'; if ($categories_2) {$output .= '<div class="bigdiv"><div class="supermenu-left" ><div class="cat-logo"><div class="withchildimg"></div><a href="'.($unrewritten).'"><img src="'.$picCat.'" alt="' . $category_1['name'].'"/><span>' . $category_1['name'] . '</span></a><div class="list-img"></div></div>';} $output .= '<div class="withchild">'; foreach ($categories_2 as $category_2) { $sub_unrewritten = $this->url->link('product/category', 'path=' . $category_1['category_id'] . '_' . $category_2['category_id']);$output .= '<div class="box-name"><div><a href="'.($sub_unrewritten).'"></a></div><div><a class="theparent" href="'.($sub_unrewritten).'"><span>' . $category_2['name'] . '</span></a></div>'; $categories_3 = $this->model_catalog_category->getCategories($category_2['category_id']); if ($categories_3) {$output .= '<ul class="child-level">';} foreach ($categories_3 as $category_3) {$output .= '<li>';$third_sub_unrewritten = $this->url->link('product/category', 'path=' . $category_1['category_id'] . '_' . $category_2['category_id'] . '_' . $category_3['category_id']);$output .= '<a href="'.($third_sub_unrewritten).'">'.$category_3['name'].'</a>'; $output .= '</li>'; } if ($categories_3) {$output .= '</ul>';}$output .= '</div>'; }$output .= '</div>';if ($categories_2) {$output .= '</div></div>';}$output .= '</li>';} if ($categories_1) {$output .= '</ul>';} echo $output;?>
Помогите поправить выпадающее меню, при наведении Электростанции выпадающее меню по правому краю вылезает. Вот сайт В стандартном меню он выравнивается по правому краю. Кажется этот кусок кода его выравнивает. Или я не прав?, используют скрипт? Код: <div> <?php for ($i = 0; $i < count($category['children']);) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> Вот такой скриптом как то можно выровнять, только надо допилить. В скриптах я ноль... Код: $(document).ready(function() { $('#slmenu ul > li > a + div').each(function(index, element) { var slmenu = $('#slmenu').offset(); var ddown = $(this).parent().offset(); i = ddown.left - slmenu.left; if (i > 0) { $(this).css('margin-left', '-' + (i - 5) + 'px'); } }); });
ну так необходимо править не куски кода, а стили оформления меню ... в частности в sl-menu файл стилей slmenu-classic.css (в архиве) ... судя по вашему коду за ширину отвечает класс withchild (хотя может и другой я модуль не ставил) ... найдите его в файле стиля и ... и, как мне кажется, уменьшить значение max-width: 230px; или же пройти ниже и уменьшить значение width: 220px; Что то в этом роде копать и пробовать! Только не забывать резервные копии файлов делать которые правите! а вообще вывести изображение категории в горизонтальное меню рядом с под-категориями оказалось не так трудно ... да и вообще любое изображение, а не имеено привязанное к категории ... плюс любое описание ))) я лично для себя решил этот вопрос выводом Описания категории (которая в админке) в меню. Ставлю через админку любую фоту + описание или без него! Единственный минус сего решения - фота и описание будет так же выводиться и в самой категории. Хотя описание можно вырезать из кода ... По крайней мере в будущем можно вместо этого решения поставить super mega menu )))
Это не выход, А что если где РЕКЛАМА и там будет так же несколько под категорий? Модуль вообще доработать и можно выложить на благо народа.