Категории в одном пункте меню

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем tsap, 28 май 2015.

  1. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    подскажите как организовать вывод категорий магазина в одном пункте горизонтального меню
     
  2. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    блин, там все меню перелопачивать. Надо многоуровневое меню бутстрап найти, и потом уже привязать.
    На днях постараюсь придумать..
     
  3. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    я думал сейчас носом ткнете в похожую тему...
     
    Последнее редактирование: 28 май 2015
  4. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    Sergeystv нравится это.
  5. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    сделал, может не совсем изящно, пока пойдет
    тестировалось на Version 2.0.3.0 (rs.2)
    было
    menu-do.jpg
    стало
    menu-posle.jpg

    1. открываем файл catalog/language/russian/common/header.php

    после
    PHP:
    $_['text_all']           = 'Смотреть Все';
    добавляем
    PHP:
    $_['text_categories'] = 'Каталог';
    2. открываем файл catalog/controller/common/header.php


    после

    PHP:
    $data['text_all'] = $this->language->get('text_all');
    добавляем
    PHP:
    $data['text_categories'] = $this->language->get('text_categories');
    перед

    PHP:
    $data['categories'][] = array(
    добавляем
    PHP:
    $filter_data = array(
        
    'filter_category_id'  => $category['category_id'],
        
    'filter_sub_category' => true
    );


    тут же недалеко находим
    PHP:
    'name'     => $category['name'],
    и меняем на
    PHP:
    'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' $this->model_catalog_product->getTotalProducts($filter_data) . ')' ''),
    3. открываем файл catalog/view/theme/*/template/common/header.tpl


    находим строку

    PHP:
    <?php if ($categories) { ?>

    и удаляем все до конца, а вместо пишем это
    PHP:
    <?php if ($categories) { ?>
    <div class="container">
      <nav id="menu" class="navbar">
        <div class="navbar-header"><span id="category" class="visible-xs"><?php echo $text_category?></span>
          <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
        </div>
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php echo $text_categories?></a>
            <div class="dropdown-menu">
                <div class="dropdown-inner">
                  <ul class="list-unstyled">
            <?php foreach ($categories as $category) { ?>
            <?php if ($category) { ?>
                   <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
            <?php ?>
            <?php ?>
                  </ul>
                </div>
              </div>
          </li>
          </ul>
        </div>
      </nav>
    </div>
    <?php ?>

    ну и для ленивых модификатор)
     

    Вложения:

    Последнее редактирование: 28 май 2015
    Vitalii-V, Vlad, Zlata Jesen и ещё 1-му нравится это.
  6. SVRyzhov

    SVRyzhov Новичок

    Сообщения:
    9
    Симпатии:
    0
    А можно ли сделать так чтоб было несколько колонок? А-то одна получается очень длинная. В идеале 3-4 колонки на всю ширину меню.
     
  7. vikaharkov

    vikaharkov Продвинутый пользователь

    Сообщения:
    676
    Симпатии:
    71
    Скажем так, есть более изящное по коду решение (я так думаю) (версия 2.3.0.2)
    (если не считать CSS, то, кажись, вся реализация в одном фале header.tpl происходит и вписано ввсё в 20 строчек кода (при этом старый код из таких же 20 строчек просто удаляется))

    Это я по памяти нацарапала, могу посмотреть, но не сегодня

    Итоговый вид таков

    3333.png

    444.png

    Меню было кажется трехярусное, но точно помню, шо третий ярус тогда отключила за ненадобностью.

    P.S. Извиняюсь, не глянула сразу под катом у вас - та оно по тому же принципу построено. Так шо никакое оно не более изящное по коду, а такое же.
     
    Vitalii-V нравится это.
  8. SVRyzhov

    SVRyzhov Новичок

    Сообщения:
    9
    Симпатии:
    0
    Ваш вариант отличается. Представленный выше вариант одноуровневый.
     
  9. vikaharkov

    vikaharkov Продвинутый пользователь

    Сообщения:
    676
    Симпатии:
    71
    Уровни в админке задаются. Если кроме категорий есть и подкатегории, то естесно, будут и они показываться (но думаю (не очень уже помню), показ можно и отключить в коде, если не нужны)

    Правда, есть особенность - работает по наводке мышки, а не по клику. Считается, что для мобилок нужно только по клику, потому, наверное, не совсем удобное для них меню. Разве шо заменять - для компа такое, а при переключении на мобильный вариант - стандартное бустраповское подключается.
     
    Vitalii-V нравится это.