Как скрыть подкатегории....

Тема в разделе "OpenCart", создана пользователем alex86, 8 янв 2016.

  1. alex86

    alex86

    Регистрация:
    16 сен 2013
    Сообщения:
    2
    Симпатии:
    0
    Добрый вечер!
    Подскажите как сделать чтобы при выборе категории в боковом меню , под категории не раскрывались.
    Да и если много под категорий , не красиво когда это все разворачивается.

    Вот здесь можно посмотреть : http://opencart.my2you.ru/magazinchik2/

    открываешь категорию
    Аксессуары

    и вываливаются вниз три под категории :
    - Большой сет (6)
    - Маленький сет (6)

    - Средний сет (0)


    можно как нибудь скрыть под категории ,они все равно по центру выводятся.

    Спасибо.
     
  2. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    Какой модуль стоит на левое меню? "Акардеон"?
    Есть 2 варианта - заменить обычным, или с этого выбрать код.
     
  3. alex86

    alex86

    Регистрация:
    16 сен 2013
    Сообщения:
    2
    Симпатии:
    0
    Не не акардеон, похож на обычный с 2-х уровневым меню.
    Вот код из шаблона :
    \upload\catalog\view\theme\мой шаблон\template\product\category.tpl


    Код:
    <?php echo $header; ?>
    <div class="container">
      <ul class="breadcrumb">
        <?php foreach ($breadcrumbs as $breadcrumb) { ?>
        <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
        <?php } ?>
      </ul>
      <div class="row"><?php echo $column_left; ?>
        <?php if ($column_left && $column_right) { ?>
        <?php $class = 'col-sm-6'; ?>
        <?php } elseif ($column_left || $column_right) { ?>
        <?php $class = 'col-sm-9'; ?>
        <?php } else { ?>
        <?php $class = 'col-sm-12'; ?>
        <?php } ?>
        <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?>
          <h2 class="text-center"><?php echo $heading_title; ?></h2>
    
          <?php if ($categories) { ?>
        
         <div class="block-1 col-sm-12">
          <h3><?php echo $text_refine; ?></h3>
          <div class="row">
            <div class="col-sm-12">
              <div class="row">
              <ul class="list-ca">
                <?php foreach ($categories as $category) { ?>
                <div class="col-sm-4 col-xs-6">
                <li class=""><a href="<?php echo $category['href']; ?>">
                <img src="<?php echo $category['thumb']; ?>" alt="<?php echo $category['name']; ?>" title="<?php echo $category['name']; ?>" class="img-responsive" />
                <span><?php echo $category['name']; ?></span>
                </a></li>
                </div>
                <?php } ?>
              </ul>
              </div>
            </div>
          </div>
        </div>    
        
          <?php } ?>
          <?php if ($products) { ?>
        
          <p class="text-right"><a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a></p>
          <div class="row">
    
          <div class="col-sm-12">
            <div class="fill">
          
            <div class="col-md-3">
              <div class="btn-group hidden-xs">
                <button type="button" id="list-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_list; ?>"><i class="fa fa-th-list"></i></button>
                <button type="button" id="grid-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_grid; ?>"><i class="fa fa-th"></i></button>
              </div>
            </div>
            <div class="col-md-2 text-right">
              <label class="control-label" for="input-sort"><?php echo $text_sort; ?></label>
            </div>
            <div class="col-md-3 text-right">
              <select id="input-sort" class="form-control" onchange="location = this.value;">
                <?php foreach ($sorts as $sorts) { ?>
                <?php if ($sorts['value'] == $sort . '-' . $order) { ?>
                <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
                <?php } ?>
                <?php } ?>
              </select>
            </div>
            <div class="col-md-2 text-right">
              <label class="control-label" for="input-limit"><?php echo $text_limit; ?></label>
            </div>
            <div class="col-md-2 text-right">
              <select id="input-limit" class="form-control" onchange="location = this.value;">
                <?php foreach ($limits as $limits) { ?>
                <?php if ($limits['value'] == $limit) { ?>
                <option value="<?php echo $limits['href']; ?>" selected="selected"><?php echo $limits['text']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></option>
                <?php } ?>
                <?php } ?>
              </select>
            </div>
          
            </div>
            </div>
    
          </div>
          <br />
          <div class="row">
            <?php foreach ($products as $product) { ?>
            <div class="product-layout product-list col-xs-12">
              <div class="product-thumb">
                <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></a></div>
                <div>
                  <div class="caption">
                    <h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4>
                    <p><?php echo $product['description']; ?></p>
                    <?php if ($product['rating']) { ?>
                    <div class="rating">
                      <?php for ($i = 1; $i <= 5; $i++) { ?>
                      <?php if ($product['rating'] < $i) { ?>
                      <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span>
                      <?php } else { ?>
                      <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span>
                      <?php } ?>
                      <?php } ?>
                    </div>
                    <?php } ?>
                    <?php if ($product['price']) { ?>
                    <p class="price">
                      <?php if (!$product['special']) { ?>
                      <?php echo $product['price']; ?>
                      <?php } else { ?>
                      <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span>
                      <?php } ?>
                      <?php if ($product['tax']) { ?>
                      <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
                      <?php } ?>
                    </p>
                    <?php } ?>
                  </div>
                  <div class="button-group">
                    <button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button>
                    <button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button>
                    <button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button>
                  </div>
                </div>
              </div>
            </div>
            <?php } ?>
          </div>
          <div class="row">
            <div class="col-sm-6 text-left"><?php echo $pagination; ?></div>
            <div class="col-sm-6 text-right"><?php echo $results; ?></div>
          </div>
        
          <?php if ($description) { ?>
          <br>
          <div class="row">
            <div class="col-sm-12">
            <div class="block">
            <?php if ($thumb) { ?>
            <div class="col-sm-2"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" title="<?php echo $heading_title; ?>" class="img-thumbnail" /></div>
            <?php } ?>
            <?php if ($description && $thumb) { ?>
            <div class="col-sm-10"><?php echo $description; ?></div>
            <?php } else { ?>
            <div class="col-sm-12"><?php echo $description; ?></div>
            <?php } ?>
            </div>
            </div>
          </div>
          <?php } ?>
        
        
          <?php } ?>
          <?php if (!$categories && !$products) { ?>
          <p><?php echo $text_empty; ?></p>
          <div class="buttons">
            <div class="pull-right"><a href="<?php echo $continue; ?>" class="btn btn-primary"><?php echo $button_continue; ?></a></div>
          </div>
          <?php } ?>
          <?php echo $content_bottom; ?></div>
        <?php echo $column_right; ?></div>
    </div>
    <?php echo $footer; ?>
    
     
  4. 039rus

    039rus

    Регистрация:
    1 дек 2013
    Сообщения:
    20
    Симпатии:
    1
    Почему некрасиво. .нормально выводятся. А так самое простое в админке отключите лишние подкатегории и не будут мешаться
     
  5. GERA-oneteam

    GERA-oneteam

    Регистрация:
    6 янв 2016
    Сообщения:
    25
    Симпатии:
    18
    В админке можно отключить только родительные категории а подкатегории присвоенные родителю все равно будут отображается ...
     
  6. 039rus

    039rus

    Регистрация:
    1 дек 2013
    Сообщения:
    20
    Симпатии:
    1
    Странно... у вас какая версия?? я с своей 1.5.. и 2... могу выключать любую категорию и подкатегорию и она скрывается от пользователя
     
  7. sonicking

    sonicking

    Регистрация:
    26 май 2013
    Сообщения:
    406
    Симпатии:
    104
    если вы выключите категорию, то доступа к ней не будет у пользователя не с боку ни по центру - разве нет?
     
  8. GERA-oneteam

    GERA-oneteam

    Регистрация:
    6 янв 2016
    Сообщения:
    25
    Симпатии:
    18
    Смотрите:
    -- Категория 1
    ----подкатегория 1
    -- Категория 2
    Если у нас категория 1 установленна для вывода в главном меню (тойсть стоит галочка) тогда все подкатегории автоматически будут вней отображается в главном меню, и вних уже не надо отмечать галочку отображения в главном меню, следовательно в настройках одной из подкатегории есть возможность ВКЛ и ВЫКЛ, но если подкатегорию выключить, она вполность выключается на всех страницах. А старттоперу нужно выключение выпадания подкатегорий из основной категории ....

    PS... Не знаю про какие вы версии свои говорите, но в моей oc 2 по дефолту только такие возможности
     
  9. 039rus

    039rus

    Регистрация:
    1 дек 2013
    Сообщения:
    20
    Симпатии:
    1
    Да парни все верно, мое предложение актуально только если в горизонтальном меню статичные ссылки и нет выпадающих меню
     
  10. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    Есть хороший модуль типа Аккордион. Он бесплатный. Позволяет за счет настроек делать по умолчанию при клике на ссылку (родительскую категорию) переход без последующего раскрытия и показа дочерних категорий. Раскрыть/закрыть можно за счет того же JavaScript, например, при наведении. навели - раскрылось. просто кликнули - переход без раскрытия.

    Называется "Vertical Accordion Category Menu". Удивительное дело, но через поиск на родном сайте opencart не находится сразу.
    сам файл называется Vertical-Accordion-Category-Menu-fixed.zip Хотел прикрепить, но не вижу такой кнопки.
    --- Добавлено, 18 янв 2016 ---
    http://www.opencarto.com/market-places/vertical-accordion-category-menu.html

    нашел ссылочку!
     
    odinochka нравится это.
  11. odinochka

    odinochka

    Регистрация:
    13 янв 2016
    Сообщения:
    3
    Симпатии:
    0
    Можно скрыть за счет CSS.

    div.list-group > div > div {
    display: none;}

    И все ссылки второго уровня не будут видны. в вашем меню слева.

    а можно, действительно, как выше посоветовали, установить модуль с гибкими настройками. Ну это если в настройках сильны.
     
  12. Ristretto

    Ristretto

    Регистрация:
    18 янв 2016
    Сообщения:
    2
    Симпатии:
    0
    не проще ли все спрятать под спойлер? и не изобретать второй велосипед. Можно в css прописать настройки для данной страницы или всего шаблона
     
  13. odinochka

    odinochka

    Регистрация:
    13 янв 2016
    Сообщения:
    3
    Симпатии:
    0
    Можно как я советовал скрыть через CSS и добавить немного jQuery. Т. е. всего навсего добавить на события типа клик или наведение вот такую штуку:

    slideToggle()

    только CSS нужно несколько изменить.
    div.list-group > div.activ + div {display: none;}

    JQuery:

    $('div.list-group > div.activ + div').slideToggle() ;


    И по хорошему рядышком кнопочку сделать открыть/свернуть и на нее повесить обработчик. А можно просто по наведению мышки раскрывать.

    код не полный. но основная идея понятна, думаю.