Jump to content
Sign in to follow this  
Svarnoy85

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

Recommended Posts

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

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

 

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

 

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

-Тесть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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

category.php

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

пробуй заменить 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

 

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

Share this post


Link to post
Share on other sites

Вот что у меня получилось правлю 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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

<?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 } ?>

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

Share this post


Link to post
Share on other sites

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

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

Поясню:

<?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>

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 

$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)

                    

                );

            }

 

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

Share this post


Link to post
Share on other sites

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

 

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
				);
			}

Share this post


Link to post
Share on other sites

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

 

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
				);
			}

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

  <?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 } ?>

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Добрый день! подскажите мне нужно заменить адрес категории на другой сайт, где редактировать меню? Спасибо

post-30150-0-95938700-1432142047_thumb.jpg

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By legioner26
      699.00 руб
      Скачать/Купить дополнение


      Многофункциональный модуль меню Категорий
      Разработан многофункциональный модификатор меню категорий товаров, который позволяет прям из админ панели решать массу задач без участия программиста. Очень простая и легкая установка.
      Так же внедрена мобильная версия модуля.
      Модификатор создан для изменения и добавления функционала в стандартный модуль категорий всех версий веток ОС начиная от 2.0 и заканчивая 3.0
      Обновление модификатора до версии ОС 3.0
      ПРИМЕЧАНИЕ !!!
      Для корректной установки и работы модификатора настоятельно рекомендую проверить были ли изменены файлы стандартного модуля категорий, 
      либо удостовериться что нет сторонних модификаторов которые бы меняли функционал.
      В случае если файлы изменены, можете добавить к ним префикс к примеру (category_1.tpl) и залить файлы из коробки ОС. 
       
      РЕКОМЕНДУЕМЫЕ МОДУЛИ
       
      Смс авторизация и регистрация 
      Конструктор форм обратной связи
      Модуль Зумма
      Модуль подарков
      СЕО генератор мета тегов
       
       
      Установка:
      1. Папку Admin закинуть на хостинг в корень сайта 
      2. Устанавливаете модификатор согласно вашей версии ОС через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
      ИНСТРУКЦИЯ во вложении
      DEMO Логин: demo Пароль: demo
      https://siacosmetics.ru/lico1/dlya-lica/krem-dlya-lica  - С вертикальным выпадом
      http://mvc-cart.ru/index.php?route=product/category&path=20 - С горизонтальным выпадом
       
      https://opencartforum.com/profile/723002-legioner26/?tab=field_core_pfield_13 ->> СЕО сопровождение магазинов под управлением OpenCart
      Добавил legioner26 Добавлено 12.02.2018 Категория Меню, дизайн, внешний вид Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет Старая цена 950  
    • By legioner26
      Разработан многофункциональный модификатор меню категорий товаров, который позволяет прям из админ панели решать массу задач без участия программиста. Очень простая и легкая установка.
      Так же внедрена мобильная версия модуля.
      Модификатор создан для изменения и добавления функционала в стандартный модуль категорий всех версий веток ОС начиная от 2.0 и заканчивая 3.0
      Обновление модификатора до версии ОС 3.0
      ПРИМЕЧАНИЕ !!!
      Для корректной установки и работы модификатора настоятельно рекомендую проверить были ли изменены файлы стандартного модуля категорий, 
      либо удостовериться что нет сторонних модификаторов которые бы меняли функционал.
      В случае если файлы изменены, можете добавить к ним префикс к примеру (category_1.tpl) и залить файлы из коробки ОС. 
       
      РЕКОМЕНДУЕМЫЕ МОДУЛИ
       
      Смс авторизация и регистрация 
      Конструктор форм обратной связи
      Модуль Зумма
      Модуль подарков
      СЕО генератор мета тегов
       
       
      Установка:
      1. Папку Admin закинуть на хостинг в корень сайта 
      2. Устанавливаете модификатор согласно вашей версии ОС через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
      ИНСТРУКЦИЯ во вложении
      DEMO Логин: demo Пароль: demo
      https://siacosmetics.ru/lico1/dlya-lica/krem-dlya-lica  - С вертикальным выпадом
      http://mvc-cart.ru/index.php?route=product/category&path=20 - С горизонтальным выпадом
       
      https://opencartforum.com/profile/723002-legioner26/?tab=field_core_pfield_13 ->> СЕО сопровождение магазинов под управлением OpenCart
    • By legioner26
      777.00 руб
      Скачать/Купить дополнение


      Модификатор автозаполнения картинок категорий
      Разработан модификатор автозаполнения картинок категорий из первой найденной картинки товара категории, а так же проставляются картинки для главных категорий и под категорий
      версии OpenCart 2.0, 2.1, 2.2, 2.3, 3.x  
      Просто заливаете товары с картинками, а картинки на категории проставятся сами.
      Устанавливаете модификатор как указано на картинке, чистим в модификациях кеш и обновляем. 
       
      Иногда бывает когда некорректно удалены картинки, и они сохранены в базе Для этого надо зайти через phpmyadmin и удалить из полей картинки из таблица oc_category
      UPDATE `oc_category` SET image=''
      http://prntscr.com/rkmuy3
      Введете этот запрос для очистки всех изображений категорий в случае проблем.
       
      РЕКОМЕНДУЕМЫЕ МОДУЛИ
       
      Смс авторизация и регистрация 
      Конструктор форм обратной связи
      Модуль Зумма
      Модуль подарков
      СЕО генератор мета тегов
       
      Добавил legioner26 Добавлено 31.08.2017 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 1200  
    • By legioner26
      Разработан модификатор автозаполнения картинок категорий из первой найденной картинки товара категории, а так же проставляются картинки для главных категорий и под категорий
      версии OpenCart 2.0, 2.1, 2.2, 2.3, 3.x  
      Просто заливаете товары с картинками, а картинки на категории проставятся сами.
      Устанавливаете модификатор как указано на картинке, чистим в модификациях кеш и обновляем. 
       
      Иногда бывает когда некорректно удалены картинки, и они сохранены в базе Для этого надо зайти через phpmyadmin и удалить из полей картинки из таблица oc_category
      UPDATE `oc_category` SET image=''
      http://prntscr.com/rkmuy3
      Введете этот запрос для очистки всех изображений категорий в случае проблем.
       
      РЕКОМЕНДУЕМЫЕ МОДУЛИ
       
      Смс авторизация и регистрация 
      Конструктор форм обратной связи
      Модуль Зумма
      Модуль подарков
      СЕО генератор мета тегов
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.