На форуме 9558 тем, 76452 сообщений, 44664 участников
тема · 1 069 просмотров · 6 ответов

Как под категориями 2 го уровня вывести список подкатегорий 3 го уровня на странице?

Дизайн, оформление и шаблоны
читают: 0 участников и 1 гость
порядок
8 мая 2019 00:47#1
Здравствуйте, подскажите пожалуйста как под категориями 2 го уровня вывести список подкатегорий 3 го уровня? Ocstore 2.3
Нужен каталог в развернутом виде на странице категорий, как на сайте leroymerlin.ru, может кто знает модуль или как добавить код в category.php и category.tpl?
6NkkGtZ
8 мая 2019 10:53· изменено#2
Вот кусочек кода, с моей добавкой из sitemap.php. Так как сделан код выше - кроме нужных категорий выводятся и другие ссылки - из верхнего меню и из футера, подскажите как их убрать?
Ниже отрывок кода из файла category.php из /controller/product/category.php

php
$results = $this->model_catalog_category->getCategories($category_id);

foreach ($results as $result) {
$filter_data = array(
'filter_category_id' => $result['category_id'],
'filter_sub_category' => true
);
$data['categories'][] = array(
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);


////////////////////////////////////Начало кода взятого из sitemap.php//////////////////////////////////////////
$data['categories'] = array();

$categories_1 = $this->model_catalog_category->getCategories($category_id);

foreach ($categories_1 as $category_1) {
$level_2_data = array();

$categories_2 = $this->model_catalog_category->getCategories($category_1['category_id']);

foreach ($categories_2 as $category_2) {
$level_3_data = array();

$categories_3 = $this->model_catalog_category->getCategories($category_2['category_id']);

foreach ($categories_3 as $category_3) {
$level_3_data[] = array(
'name' => $category_3['name'],
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $category_1['category_id'] . '_' . $category_2['category_id'] . '_' . $category_3['category_id'])
);
}

$level_2_data[] = array(
'name' => $category_2['name'],
'children' => $level_3_data,
'href' => $this->url->link('product/category', 'path='. $this->request->get['path'] . '_' . $category_1['category_id'] . '_' . $category_2['category_id'])
);
}

$data['categories'][] = array(
'name' => $category_1['name'],
'children' => $level_2_data,
'href' => $this->url->link('product/category', 'path=' . $category_1['category_id'])
);
}

///////////////////////////////////////////////Конец кода взятього из sitemap.php///////////////////////////////////////////////

}



Ниже отрывок кода из category.tpl с вставкой кода из sitemap.tpl, выводящего категории

html
 <?php if ($categories) { ?>
<h3><?php echo $text_refine; ?></h3>
<?php if (count($categories) <= 5) { ?>
<div class="row">
<div class="col-sm-3">
<ul>
<?php foreach ($categories as $category) { ?>
<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>
</ul>
</div>
</div>
<?php } else { ?>
<div class="row">
<?php foreach (array_chunk($categories, ceil(count($categories) / 4)) as $categories) { ?>
<div class="col-sm-3">
<!-- <ul>-->
<!-- <?php foreach ($categories as $category) { ?>-->
<!-- <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>-->


<!-- /////////////////////////////////Код ниже добавил я///////////////////////////////////////////////-->
<ul>
<?php foreach ($categories as $category_1) { ?>
<li><a href="<?php echo $category_1['href']; ?>"><?php echo $category_1['name']; ?></a>
<?php if ($category_1['children']) { ?>
<ul>
<?php foreach ($category_1['children'] as $category_2) { ?>
<li><a href="<?php echo $category_2['href']; ?>"><?php echo $category_2['name']; ?></a>
<?php if ($category_2['children']) { ?>
<ul>
<?php foreach ($category_2['children'] as $category_3) { ?>
<li><a href="<?php echo $category_3['href']; ?>"><?php echo $category_3['name']; ?></a></li>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php } ?>
</ul>
<!-- /////////////////////////////////Конец моего кода///////////////////////////////////////////////-->
<!-- <?php } ?>-->
<!-- </ul>

</div>
<?php } ?>
</div>
8 мая 2019 14:03#3
Sergey161 написал(а): ↑кроме нужных категорий выводятся и другие ссылки - из верхнего меню и из футера, подскажите как их убрать?

В указанном коде нет других ссылок.Непонятно как они выводятся у вас.
8 мая 2019 14:41#4
dfhsdfhsad.pngdfhsdfhs.png
8 мая 2019 14:44#5
Также выводятся как и на странице карты сайта, т.к. часть кода я взял из sitemap.php и tpl, только вот не пойму как отредактировать?
8 мая 2019 14:54#6
Все вопрос снят, спасибо большое, что откликнулись, допустил в коде опечатку - не закрыл комментарий.
сообщения 1–7 из 7
Чтобы ответить, войдите или зарегистрируйтесь.

Похожие темы