Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Модуль категорий


Svarnoy85
 Поделиться

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

Приветствую всех.

Разыскиваю модуль или упоминание вот о таком функционале:

 

Есть следующая иерархия категорий:

 

Тестовая категория раз

-Тесть1

  -- Субкатегория 1

     --- под-под категория 1

     --- под-под категория 2

     --- под-под категория 3

  -- Субкатегория 2

    --- под-под категория А

    --- под-под категория Б

    --- под-под категория С

-Тест2

  -- Субкатегория 3

  -- Субкатегория 4

Тестовая категория два

 - Тест31

     ---- Под-суб категория 1

 - Тест32

 - Тест33

 

Слева в категории выводиться модуль, который показывает субкатегории и под-под категории, только от этой категории.

При этом при "проходе" дальше по категориям показывает только под-под категории

Т.е. в Тест1 покажет Субкатегория 1-2 и под-под категории, при проходе в Субкатегория 1 покажет только под-под категории 1-2-3,

 

При этом в "Тестовая категория раз" покажет только Тест 1 и Тест 2 + Субкатегория 1-2-3-4

 

Если кто-то сталкивался с подобным функционалом, просьба поделиться ссылкой, заранее всем спасибо!

 

Возможно платное решение, но с ним пожалуйста пишите в ЛС, отвечу - всем !

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


у меня это в теме заложено. BigDesign - Digital - название темы, там "опции темы" "натстройки шапки" "главное меню" дальше просто категории создаются и указывается родительская.

Установлен так же модуль называется "Категории" хз за что он отвечает

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


ТС, вы описали стандартный функционал меню с единственной разницей - в стандартном не раскрываются под-подкатегории, но это можно дописать. Проще говоря, вам тупо надо раскрыть все под-подкатегории открытой категории, то есть, открыть меню на глубину не одной ссылки, а двух.

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


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

в этом случае уже не стандартный ))

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

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

в этом случае уже не стандартный ))

Да, на это я не обратил внимания...

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


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

в этом случае уже не стандартный ))

да вы правы нужны только категории от родителя, может есть идеи как это реализовать ?

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


ТС, вы описали стандартный функционал меню с единственной разницей - в стандартном не раскрываются под-подкатегории, но это можно дописать. Проще говоря, вам тупо надо раскрыть все под-подкатегории открытой категории, то есть, открыть меню на глубину не одной ссылки, а двух.

интересует показ подкатегорий только от родителя

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


пробуй заменить catalog/controller/module/category.php прикрепленным файлом

category.php

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

пробуй заменить catalog/controller/module/category.php прикрепленным файлом

Большое спасибо, утром посмотрю, обязательно опишусь.

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


пробуй заменить catalog/controller/module/category.php прикрепленным файлом

Доброе утро к сожалению при замене файла ничего не происходит, вернее если включить подсчет кол-ва товаров, то получаем ошибку:

 

PHP Fatal error:  Call to undefined method ModelCatalogProduct::getTotalProductsID() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 39

 

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

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


Вот что у меня получилось правлю 39 строку на getTotalProducts(без ID) появляется сайт, но модуль категорий показывает все как стандартный кроме одного момента - количество товара видно только у подкатегории(у главных стоят только 0 )

И появляется след. ошибка:

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 59

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\kingparket.loc\catalog\controller\module\category.php on line 40

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


Зашел в тупик перепробовал кучу модулей, самое "близкое как мне кажется"

http://take.ms/CbwLP --- вот скрин

я использовал заготовку одного модуля, расширил вложенность до 5 лвл

но вот как показать только последние две категории в списке :( ?

 

Может кто даст подсказку : ( ?

Готов подкинуть на пиво :-)  !!!

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


Возникла вот такая идея можно же вывести в категории суб-категории:

<?php if ($categories) { ?>

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


<?php } ?>

Возник такой вопрос, а как заставить подцепить значения суб-категорий тут ? Может кто-то поможет :) ?

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


Приветствую всех!

Появилась задача реализовать вывод не только подкатегорий, но их подкатегории.

Поясню:

<?php if ($categories) { ?>
  <ul>
           <?php foreach ($categories as $category) { ?>
                <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
           <?php } ?>
    </ul>
<?php } ?>  --- это выводит подкатегории, пытаюсь вывести еще и под-под категории,

т.е. в идеале должен получиться список :

<ul>
    <li>подкатегория</li>
    <li>подкатегория
        <ul>
            <li>под-под категория</li>
            <li>под-под категория</li>
        </ul>
    </li>
</ul>

 

Не очень понимаю как это можно реализовать???

Заранее всем спасибо за подсказки-наводки!!!

 

Готов рассмотреть помощь за вознаграждение :)

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


Тю, точно так же как и подкатегории выводятся. Просто добавить вложенность. Начинать нужно не с шаблона, а с контроллера модуля. Там всё понятно должно быть

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

Тю, точно так же как и подкатегории выводятся. Просто добавить вложенность. Начинать нужно не с шаблона, а с контроллера модуля. Там всё понятно должно быть

Вот что есть в контроллере:

 

$this->data['categories'] = array();

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

            foreach ($results as $result) {

                

                $data = array(

                    'filter_category_id'  => $result['category_id'],

                    'filter_sub_category' => true

                );

                

                

                

                $product_total = $this->model_catalog_product->getTotalProducts($data);                

                

                $this->data['categories'][] = array(

                    'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

                    'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)

                    

                );

            }

 

не могу понять как здесь вложенность настроить:(, есть идеи :) ?

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


Все решено!!! Тему можно закрывать.

 

http://take.ms/Z8KlC --- вот скрин, что получается.

Реализовано через контроллер категории, кому интересно вот код:

	$this->data['categories'] = array();

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

			foreach ($results as $result) {
				$data = array(
					'filter_category_id'  => $result['category_id'],
					'filter_sub_category' => true
				);
				$children_data = array();
				$children = $this->model_catalog_category->getCategories($result['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'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
						'href'  => $this->url->link('product/category', 'path=' . $result['category_id'] . '_' . $child['category_id'])
					);						
				}
				

				$product_total = $this->model_catalog_product->getTotalProducts($data);				

				$this->data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'children' => $children_data
				);
			}
Ссылка на комментарий
Поделиться на других сайтах


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


Все решено!!! Тему можно закрывать.

 

http://take.ms/Z8KlC --- вот скрин, что получается.

Реализовано через контроллер категории, кому интересно вот код:

$this->data['categories'] = array();
 
			$results = $this->model_catalog_category->getCategories($category_id);
 
			foreach ($results as $result) {
				$data = array(
					'filter_category_id'  => $result['category_id'],
					'filter_sub_category' => true
				);
				$children_data = array();
				$children = $this->model_catalog_category->getCategories($result['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'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
						'href'  => $this->url->link('product/category', 'path=' . $result['category_id'] . '_' . $child['category_id'])
					);						
				}
				
 
				$product_total = $this->model_catalog_product->getTotalProducts($data);				
 
				$this->data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'children' => $children_data
				);
			}
Ссылка на комментарий
Поделиться на других сайтах


Подождите закрывать)

Есть еще вопрос: как выводить это в нужном месте шаблона, каким кодом?

можно в шаблоне категории при помощи такого кода:

  <?php if ($categories) { ?>
  <h2><?php echo $text_refine; ?></h2>
  <div class="category-list">
   

    <ul>
      <?php foreach ($categories as $category) { ?>
      <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
		<?if($category['children']) {?>
			<ul>
				<?foreach($category['children'] as $children) {?>
					<li><a href="<?php echo $children['href'];?>"><?php echo $children['name'];?></a></li>
				<?}?>
			</ul>
		<? }?>
	  </li>
      <?php } ?>
    </ul>
 
  
  </div>
  <?php } ?>
Ссылка на комментарий
Поделиться на других сайтах


Так ведь этот код выводит все категории.

А нужно вывести только подкатегории активной категории.

Приведенный код выводит только подкатегории данной категории, правки вносятся в контроллер и в шаблон вывода

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


  • 4 недели спустя...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.