SL-Меню категорий (МегаМеню) [ocStore 1.5.X] 2.5.1

Модуль вывода горизонтального мега-меню категорий с иконками подкатегорий второго уровня.

  1. admin
    monthly_08_2015-7e418d3d430cc507ce7b25bab4ad18cf-slmenu-baner.jpg
    Актуальная версия:v2.5.1

    Демо: slava911.500mb.net

    Описание:
    Модуль вывода горизонтального мега-меню категорий с иконками подкатегорий второго уровня.

    Особенности:
    • Установка через VQMOD, потому в админке он не управляется;
    • МОДУЛЬ НЕ ЗАМЕНЯЕТ НИКАКИХ ФАЙЛОВ;
    • трех уровневый вывод категорий;
    • задержка выпадающего менню;
    • подсветка активного пункта меню;
    • фото категорий второго уровня (с возможность изменять размер, см. ниже);
    • стили вынесены в отдельный файл для простоты изменений;
    • использует jquery;
    • полная поддержка СЕО.
    Совместимость:
    ocStore_v1.5.3.1, v1.5.4.1 и выше, (стандартный шаблон) (должен работать на других версиях 1.5.х и темах).
    Гарантия работы на дефалтном шаблоне!
    Браузеры: протестированно на всех популярных браузерах.

    Установка(должен быть установлен VQMOD):
    1. Скопировать файлы на сервер.
    2. Готово, можно использовать.

    Демо: slava911.500mb.net

    Примеры индив. дизайна (по заказу):
    FAQ:
    1) Если Вылазит "белый экран смерти"?

    Это ничего страшного. Нужно просто настроить параметр offset=".." соотвествено Вашего файла header.tpl
    Подробнее под спойлером...
    Spoiler

    И так, разберем все по порядку.
    Сначала почитайте основы про VQMOD

    1) Открываем изменяемый VQMOD-ом файл:
    catalog\view\theme\default(илиимяВашегошаблона)\template\common\header.tpl
    Находим код:
    Код:
    <divid="menu"><ul>
    <?php foreach($categories as $category){?>
    <li><?php if($category['active']){?>
    <a href="<?php echo $category['href'];?>" class="active"><?php echo $category['name'];?></a>
    <?php }else{?>
    <a href="<?php echo $category['href'];?>"><?php echo $category['name'];?></a>
    <?php }?>
    
    <?php if($category['children']){?>
    <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>
    <?php }?>
    </li>
    <?php }?>
    </ul>
    </div>
    Этот код стандартного меню, он будет заменяться на код нашего модуля категорий из VQMOD файла.

    2) Открываем VQMOD файл нашего меню:
    vqmod\xml\slmenu.xml
    Ищем строку
    <searchposition="replace"offset="26"><![CDATA[<divid="menu">]]></search>
    Эта строка означает что она должна(в файле header.tpl) найти строку и заменить <div id="menu">, а параметр offset="26" означает сколько + еще строк после <div id="menu"> заменится на код нашего модуля.
    Чтоб все работало, должно заменится <div id="menu">(в offset эта строка не включается, она и так заменяется) и весь код начиная после строки <div id="menu"> до строки <?php } ?><div id="notification"></div>

    Считаем:
    Код:
    <divid="menu">
    <ul>
    <?php foreach($categories as $category){?>
    <li><?php if($category['active']){?>
    <a href="<?php echo $category['href'];?>" class="active"><?php echo $category['name'];?></a>
    <?php }else{?>
    <a href="<?php echo $category['href'];?>"><?php echo $category['name'];?></a>
    <?php }?>
    
    <?php if($category['children']){?>
    <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>
    <?php }?>
    </li>
    <?php }?>
    </ul>
    </div>
    Вот параметр offset="26" и заменяет еще 26 строк после <div id="menu"> до строки <?php } ?>
    Если в структере Вашего header.tpl, другой порядок строк после <div id="menu">, то посчитайте их до <?php } ?> и выставте это значение в параметр offset="__"

    2) Изменение размера превью категорий:
    отредактируйте файл:
    \vqmod\vqcache\slmenu.php
    - для второго уровня строка:
    Код:
    $picSubCat = $this->model_tool_image->resize($category_2['image'],50,50);
    где "50, 50" это ширина и высота превью категории второго уровня

    Изображения

    1. monthly_08_2015-64a60fd9149c828c693de8845844b686-2.png
    2. monthly_08_2015-a604c902e9cfd23e0e560b7352532f3e-1-------------.png
    cap77, kostya1985, pacanyara и 2 другим нравится это.