Рекомендуемые сообщения

Brownguru    1

Есть нормальные модули для вывода категорий 3-го уровня? или как их вывести?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ssa    0

ищите на форуме, этот вопрос поднимался уже не раз

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Brownguru    1

То что я нахожу на форуме это вопросы по 1.5 опенкарту, и кучу статей о шаблонах, а если искать в заголовке то вообще 24 найденых, из них 0 о том как сделать 3-го уровня категории

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
fanatic    59

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
fanatic    59

пример как можно сделать(шаблон  next_default)

контроллер  -   catalog/common/header.php

		foreach ($categories as $category) {
			if ($category['top']) {
				// Level 2
				$children_data = array();

				$children = $this->model_catalog_category->getCategories($category['category_id']);

				foreach ($children as $child) {
                                        //Level 3
                                        $children_3 = $this->model_catalog_category->getCategories($child['category_id']);
                                        if($children_3){
                                                foreach($children_3 as $child_3){
                                                        $filter_data = array(
                                                        'filter_category_id'  => $child_3['category_id'],
                                                        'filter_sub_category' => true
                                                        );

                                                        $children_data_3[] = array(
                                                                'name'  => $child_3['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                                                                'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']. '_' .$child_3['category_id'])
                                                        );
                                                }
                                        }

					$filter_data = array(
						'filter_category_id'  => $child['category_id'],
						'filter_sub_category' => true
					);
                                        if($children_3) {
                                                $children_data[] = array(
                                                        'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                                                        'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']),
                                                        'children_3'=> $children_data_3
                                                );
                                        } else {
                                                $children_data[] = array(
                                                        'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                                                        'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                                                );
                                        }

				}

				// Level 1
				$data['categories'][] = array(
					'name'     => $category['name'],
					'children' => $children_data,
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}

в шаблоне - catalog\view\theme\next_default\template\common\header.tpl

        <?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">
                <?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 if(isset($child['children_3'])){?>
                        <ul class="list-unstyled">
                        <?php foreach($child['children_3'] as $c){?>
                        <li class='child_3'><a href="<?php echo $c['href']; ?>"><?php echo $c['name']; ?></a></li>
                        <?php }?>
                        </ul>
                        <?php }?>
                        <?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 } ?>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Brownguru    1
1 час назад, fanatic сказал:

пример как можно сделать(шаблон  next_default)

контроллер  -   catalog/common/header.php


		foreach ($categories as $category) {
			if ($category['top']) {
				// Level 2
				$children_data = array();

				$children = $this->model_catalog_category->getCategories($category['category_id']);

				foreach ($children as $child) {
                                        //Level 3
                                        $children_3 = $this->model_catalog_category->getCategories($child['category_id']);
                                        if($children_3){
                                                foreach($children_3 as $child_3){
                                                        $filter_data = array(
                                                        'filter_category_id'  => $child_3['category_id'],
                                                        'filter_sub_category' => true
                                                        );

                                                        $children_data_3[] = array(
                                                                'name'  => $child_3['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                                                                'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']. '_' .$child_3['category_id'])
                                                        );
                                                }
                                        }

					$filter_data = array(
						'filter_category_id'  => $child['category_id'],
						'filter_sub_category' => true
					);
                                        if($children_3) {
                                                $children_data[] = array(
                                                        'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                                                        'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']),
                                                        'children_3'=> $children_data_3
                                                );
                                        } else {
                                                $children_data[] = array(
                                                        'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                                                        'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                                                );
                                        }

				}

				// Level 1
				$data['categories'][] = array(
					'name'     => $category['name'],
					'children' => $children_data,
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}

в шаблоне - catalog\view\theme\next_default\template\common\header.tpl


        <?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">
                <?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 if(isset($child['children_3'])){?>
                        <ul class="list-unstyled">
                        <?php foreach($child['children_3'] as $c){?>
                        <li class='child_3'><a href="<?php echo $c['href']; ?>"><?php echo $c['name']; ?></a></li>
                        <?php }?>
                        </ul>
                        <?php }?>
                        <?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 } ?>

 

Заменить вашим кодом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
fanatic    59
20 часов назад, Brownguru сказал:

Заменить вашим кодом?

как хотите.  я, просто показал один из вариантов реализации

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу