Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

как запретить в горизонтальном меню подкатегории? opencart 2.3


Recommended Posts

здравствуйте, добрые люди

как убрать выпадающие списки в меню горизонтальном (сейчас выпадают подкатегории)

13529278.png

т.е нужно оставить в меню только главные категории.

 

вот код файла header tpl

<!DOCTYPE html>
<!--[if IE]><![endif]-->
<!--[if IE 8 ]><html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>" class="ie8"><![endif]-->
<!--[if IE 9 ]><html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>" class="ie9"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>">
<!--<![endif]-->
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title><?php echo $title; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?></title>
<base href="<?php echo $base; ?>" />
<?php if ($description) { ?>
<meta name="description" content="<?php echo $description; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?>" />
<?php } ?>
<?php if ($keywords) { ?>
<meta name="keywords" content= "<?php echo $keywords; ?>" />
<?php } ?>
<meta property="og:title" content="<?php echo $title; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?>" />
<meta property="og:type" content="website" />
<meta property="og:url" content="<?php echo $og_url; ?>" />
<?php if ($og_image) { ?>
<meta property="og:image" content="<?php echo $og_image; ?>" />
<?php } else { ?>
<meta property="og:image" content="<?php echo $logo; ?>" />
<?php } ?>
<meta property="og:site_name" content="<?php echo $name; ?>" />
<script src="catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>
<link href="catalog/view/javascript/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen" />
<script src="catalog/view/javascript/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<link href="catalog/view/javascript/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,400i,300,700" rel="stylesheet" type="text/css" />
<link href="catalog/view/theme/next_default/stylesheet/stylesheet.css" rel="stylesheet">
<?php foreach ($styles as $style) { ?>
<link href="<?php echo $style['href']; ?>" type="text/css" rel="<?php echo $style['rel']; ?>" media="<?php echo $style['media']; ?>" />
<?php } ?>
<script src="catalog/view/javascript/next-default/common.js" type="text/javascript"></script>
<?php foreach ($links as $link) { ?>
<link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" />
<?php } ?>
<?php foreach ($scripts as $script) { ?>
<script src="<?php echo $script; ?>" type="text/javascript"></script>
<?php } ?>
<?php foreach ($analytics as $analytic) { ?>
<?php echo $analytic; ?>
<?php } ?>
</head>
<body class="<?php echo $class; ?>">
<nav id="top">
    <div class="container">
        <?php echo $currency; ?>
        <?php echo $language; ?>
        <div id="top-link" class="nav pull-left">
            <ul class="list-inline">
                <li class="dropdown"><a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm"><?php echo $text_account; ?></span> <span class="caret"></span></a>
                    <ul class="dropdown-menu dropdown-menu-left">
                        <?php if ($logged) { ?>
                            <li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
                            <li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
                            <li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
                            <li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
                            <li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
                        <?php } else { ?>
                            <li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
                            <li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
                        <?php } ?>
                    </ul>
            </ul>
        </div>
        <div id="top-links" class="nav pull-right">
            <ul class="list-inline">
                <li><a href="<?php echo $wishlist; ?>" id="wishlist-total" title="<?php echo $text_wishlist; ?>"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_wishlist; ?></span></a></li>
                <li><a href="<?php echo $shopping_cart; ?>" title="<?php echo $text_shopping_cart; ?>"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_shopping_cart; ?></span></a></li>
                <li><a href="<?php echo $checkout; ?>" title="<?php echo $text_checkout; ?>"><i class="fa fa-share"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_checkout; ?></span></a></li>
            </ul>
        </div>
    </div>
</nav>
<header>
    <div id="top2">
        <div class="container">
            <div class="row">
                <div class="col-sm-3">
                    <div id="logo">
                        <?php if ($logo) { ?>
                            <?php if ($home == $og_url) { ?>
                                <img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" class="img-responsive" />
                            <?php } else { ?>
                                <a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" class="img-responsive" /></a>
                            <?php } ?>
                        <?php } else { ?>
                            <!--h1><a href="<?php echo $home; ?>"><?php echo $name; ?></a></h1-->
                        <?php } ?>
                        <div class='data_name tagline'><span class="name tagline"><?php echo $comment; ?></span></div>
                    </div>
                </div>
                <div class="col-sm-3">
                    <div class='phone'><a href="tel:<?php echo $telephone; ?>"><i class="fa fa-phone"></i> <span class=""><?php echo $telephone; ?></span></a></div>
                    <div class='data_open'><i class="fa fa-clock-o" aria-hidden="true"></i> <span class=""><?php echo $open; ?></span></div>
                </div>
                <div id="md-size" class="col-sm-3"><?php echo $search; ?>
                </div>
                <div class="col-sm-3"><?php echo $cart; ?></div>
            </div>
        </div>
    </div>
</header>
<div class="fix-menu">
    <div id="top3">
        <?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><a href="/">Главная</a></li> 
              <li><a href="/contacts.html">Контакты</a></li> 
              <li><a href="/delivery.html">Оплата и доставка</a></li> 
                <?php foreach ($categories as $category) { ?>
                 <?php if ($category['children']) { ?>
                <li class="dropdown"><a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a>
                 <div class="dropdown-menu">
                  <div class="dropdown-inner">
                      <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
                      <ul class="list-unstyled">
                        <?php foreach ($children as $child) { ?>
                        <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                        <?php } ?>
                      </ul>
                      <?php } ?>
                    </div>
                    <a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div>
                </li>
                <?php } else { ?>
                <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
                <?php } ?>
                <?php } ?>
              </ul>
            </div>
          </nav>
        </div>
        <?php } ?>
    </div>
</div>

чегось из него нада вычленить, чтобы в меню остались только ГЛАВНЫЕ категории.

 

в инетике нашел вот такое решение (наверное под более старые версии движка)

Скрытый текст

Итак задача. Необходимо иметь возможность в админке настраивать – выводить или не выводить подкатегории в выпадающем списке в верхнем меню.

Вообще в админке в редактировании категории во вкладке ДАННЫЕ есть такое поле “Столбцы:“. Там настраивается количество столбцов в выпадающем списке для пункта меню. Это поле мы и будем использовать, добавив в файл контроллера header.php небольшой хак. Смысл модификации в том, что если в поле ” Столбцы: ” ввести цифру ноль, то выпадающее меню вообще не будет выводиться.

Итак модифицируем файл catalog/controller/common/header.php

Практически в самом низу файла находим

 


$children = $this->model_catalog_category->getCategories($category['category_id']);
foreach ($children as $child) {
 $data = array(
  'filter_category_id'  => $child['category_id'],
  'filter_sub_category' => true
 );
 $product_total = $this->model_catalog_product->getTotalProducts($data);
 $children_data[] = array(
  'name'  => $child['name'] . ' (' . $product_total . ')',
  'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
 );	
}

И заменяем на

 


if($category['column']){
 $children = $this->model_catalog_category->getCategories($category['category_id']);
 foreach ($children as $child) {
  $data = array(
   'filter_category_id'  => $child['category_id'],
   'filter_sub_category' => true
  );
  $product_total = $this->model_catalog_product->getTotalProducts($data);
  $children_data[] = array(
   'name'  => $child['name'] . ' (' . $product_total . ')',
   'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
  );	
 }
}

Суть в том, что этот участок кода после модификации выполнится только в том случае, если в поле ” Столбцы: ” будет стоять число, отличное от нуля.

 

как тоже самое сотворить в версии движка 2.3

чтобы если введен НОЛЬ в СТОЛБЦАХ - не выпадают категории. а если введено отличное от нуля число - выпадают.

подскажите, будьте ласковы!

 

если так нельзя (ввел ноль и не выпадает подкатегория) - подскажите, чегось убрать, чтобы не выпадали подкатегории в горизонтальном меню

 

если убираю вот это:

<div class="dropdown-inner">
                      <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
                      <ul class="list-unstyled">
                        <?php foreach ($children as $child) { ?>
                        <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                        <?php } ?>
                      </ul>
                      <?php } ?>
                    </div>

то получается так: 

13534385.png

при этом главная категория НЕ КЛИКАБЕЛЬНА. нада чтоб кликнуть по ней можно было..

Змінено користувачем qwadro
Надіслати
Поділитися на інших сайтах


<?php foreach ($categories as $category) { ?>
	<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>

 

Надіслати
Поділитися на інших сайтах

Из вот этого:

                <?php foreach ($categories as $category) { ?>
                 <?php if ($category['children']) { ?>
                <li class="dropdown"><a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a>
                 <div class="dropdown-menu">
                  <div class="dropdown-inner">
                      <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
                      <ul class="list-unstyled">
                        <?php foreach ($children as $child) { ?>
                        <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                        <?php } ?>
                      </ul>
                      <?php } ?>
                    </div>
                    <a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div>
                </li>
                <?php } else { ?>
                <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
                <?php } ?>
                <?php } ?>

оставить вот это:

<?php foreach ($categories as $category) { ?>
	<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.