Как создать собственное меню?

Тема в разделе "OpenCart", создана пользователем Doll, 5 июл 2014.

  1. Doll

    Doll

    Регистрация:
    30 июн 2014
    Сообщения:
    39
    Симпатии:
    1
    Я хочу создать свое собственное меню. Не меню категорий, не главное меню, а такое специальное меню, которое бы висело в правой части сайта и в нем открывались бы не все категории, которые есть в наличии, а только некоторые. Например, чтобы слева висело меню категорий, а справа - меню только для определенной категории, например, "Компьютеры". И открывались бы только подкатегории из категории "Компьютеры". Можно ли это сделать? А как? Нужен новый отдельный модуль? Или можно, например, присваивать нужным мне подкатегориям какой-то атрибут и сделать вместо этого меню что-то другое?

    Не получилось, к сожалению, отредактировать тему, так что отвечаю сама себе:
    Если я сделаю так: создам модуль как рассказывается здесь:
    http://s-engineer.ru/sozdaem-modul-v-opencart/
    и засуну туда меню, созданное как сказано здесь:
    http://oriolo.ru/sozdaem-effektnoe-vertikalnoe-menyu-na-html5-i-css3/,
    то так получится?
    Но, я хочу не фиксированные пункты меню, которые я пропишу, а чтобы данные брались из меню категорий. То есть, мне по сути, нужно меню для конкретной подкатегории. Как это сделать?
     
    Lasted edited by : 8 июл 2014
  2. LuisAlberto

    LuisAlberto

    Регистрация:
    1 июл 2014
    Сообщения:
    14
    Симпатии:
    2
    Если у вас есть фиксированные категории, у которых вы знаете ID то скормите этому делу список ID.
     
  3. Lion18

    Lion18

    Регистрация:
    3 дек 2012
    Сообщения:
    256
    Симпатии:
    36
    лучше создать статическое меню и уже править кодом, не будет геморроя с выборами там категорий и под-категорий.
     
  4. Doll

    Doll

    Регистрация:
    30 июн 2014
    Сообщения:
    39
    Симпатии:
    1
    подскажите, пожалуйста, могу ли я создать новый отдельный файл стилей для этого меню или нужно записывать стили для него в stylesheet.css? Если можно, например, сделать файл stylesheet_menu.css, то как его подключить?
    И куда (в какой файл) прописывать ссылку на библиотеку jQuery?
     
  5. LuisAlberto

    LuisAlberto

    Регистрация:
    1 июл 2014
    Сообщения:
    14
    Симпатии:
    2
    В любом месте HTML документа вы можете спокойно подключить свой файл стилей.
     
  6. Lion18

    Lion18

    Регистрация:
    3 дек 2012
    Сообщения:
    256
    Симпатии:
    36
    common\header.tpl
    после
    <link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/stylesheet.css" />
    добавить
    <link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/ваш новый.css" />

    файл с названием в соответствующей папке.

    тоже самое....
     
  7. fisher_ak

    fisher_ak

    Регистрация:
    14 авг 2013
    Сообщения:
    9
    Симпатии:
    0
    Я тоже подобную тему создавал, только мысли изложил по другому. Тоже интересует как сделать меню для отдельных категорий.
    Например, необходимо чтобы при нажатии на горизонтальном меню раздела "товары детям", слева появлялся раздел "товары детям" с его подразделами. При нажатии на горизонтальном меню на "товары для мам" слева бы появлялся только этот раздел с подразделами...Понимаю что такое можно сделать с помощью мультимагазина (скорее всего), но это не вариант.
    З.ы. вот моя темка - http://wmasteru.org/threads/Можно-ли-создать-несколько-каталогов.13589/
     
  8. Doll

    Doll

    Регистрация:
    30 июн 2014
    Сообщения:
    39
    Симпатии:
    1
    Lion18, Спасибо, понятно!
    В общем, получилось, только глючит жутко.
    Буду вылавливать глюки. Правильно ли я поняла, что вот этот кусок:
    <script type="text/javascript">
    $(function() {

    var menu_ul = $('.menu > li > ul'),
    menu_a = $('.menu > li > a');

    menu_ul.hide();

    menu_a.click(function(e) {
    e.preventDefault();
    if(!$(this).hasClass('active')) {
    menu_a.removeClass('active');
    menu_ul.filter(':visible').slideUp('normal');
    $(this).addClass('active').next().stop(true,true).slideDown('normal');
    } else {
    $(this).removeClass('active');
    $(this).next().stop(true,true).slideUp('normal');
    }
    });

    });
    </script>
    нужно класть в конец файла
    /catalog/view/theme/new/template/module

    .newmenu.tpl?
    Или нужно перед ним что-то еще вставить?
     
  9. Lion18

    Lion18

    Регистрация:
    3 дек 2012
    Сообщения:
    256
    Симпатии:
    36
    думаю приведенный вами код нужно разместить среди остальных скриптов common\header.tpl те что до </head> или вынести в отдельный файл и подключить в шапку.будет вам гораздо удобнее править....
     
    Doll нравится это.
  10. Doll

    Doll

    Регистрация:
    30 июн 2014
    Сообщения:
    39
    Симпатии:
    1
    Lion18, Понятно! В общем, в newmenu.tpl тоже работает. А как можно "подключить в шапку"? И как можно сделать, чтобы оно брало подкатегории по id? Сейчас получилось только статическое с конкретными ссылками. И как сделать, чтобы при нажатии на главный раздел, то не только бы открывалось меню, а еще и происходил переход на страницу этого раздела? Вот, это еще недомученный вариант...
    [​IMG]
     
  11. Doll

    Doll

    Регистрация:
    30 июн 2014
    Сообщения:
    39
    Симпатии:
    1
    и у меня не получается сделать, чтобы подкатегории при наведении курсора подчеркивались. В файле стиля я прописываю:
    .menus > ul > a:hover {
    text-decoration: underline;
    }
    Что-то не так делаю?
     
  12. Lion18

    Lion18

    Регистрация:
    3 дек 2012
    Сообщения:
    256
    Симпатии:
    36
    doll цвет назнач.

    чтоб назначал id.не эту статику наложи на встроенное меню категорий или возьми альтернативный модуль.

    что подключить?
     
  13. Doll

    Doll

    Регистрация:
    30 июн 2014
    Сообщения:
    39
    Симпатии:
    1
    все, с подчеркиванием разобралась. Осталась проблема с тем, чтобы выводил нужную мне подкатегорию, а не статичный список ссылок.
    Lion18, а вы можете не темнить, а рукой показать? Не понимаю, к сожалению... :unsure: Я пробовала вытащить из меню категорий похожие строчки и вставить, но не работает.
     
  14. Lion18

    Lion18

    Регистрация:
    3 дек 2012
    Сообщения:
    256
    Симпатии:
    36
    нет времени.вот код категорий в стандартном вертикальном меню
    <div class="box-category">
    <ul>
    <?php foreach ($categories as $category) { ?>
    <li>
    <?php if ($category['category_id'] == $category_id) { ?>
    <a href="<?php echo $category['href']; ?>" class="active" style="border-bottom: 1px solid #EEEEEE;"><?php echo $category['name']; ?><img src="catalog/view/theme/default/image/sitbar-left-arrow-2.png" alt="img"></a>

    <?php } else { ?>
    <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?><img src="catalog/view/theme/default/image/sitbar-left-arrow-1.png" alt="img"></a>

    <?php } ?>
    <?php if ($category['children']) { ?>
    <ul>
    <?php foreach ($category['children'] as $child) { ?>
    <li>
    <?php if ($child['category_id'] == $child_id) { ?>
    <a href="<?php echo $child['href']; ?>" class="active"> <img src="catalog/view/theme/default/image/sitbar-left-arrow-3.png" alt="img"> <?php echo $child['name']; ?></a>
    <?php } else { ?>
    <a href="<?php echo $child['href']; ?>"> <?php echo $child['name']; ?></a>
    <?php } ?>
    </li>
    <?php } ?>
    </ul>
    <?php } ?>
    </li>
    <?php } ?>
    </ul>
    </div>