Виджет категории, убрать отображение всех уровней вложенности

#1 30 июня 2020 в 11:37
Приветствую, друзья! Использую стандартный виджет Категории, в настройках стоит галочка Показывать всё дерево категорий. У меня очень много уровней категорий и хотелось бы сделать отображение только до второго уровня, есть мысли, как реализовать? Нуждаюсь в помощи)
Например по уровням= Ремонт — Телефоны — Apple — IPhone11 — Ремонт стекла, мне нужно выводить только до категории Apple
#2 30 июня 2020 в 11:38
Я так понимаю редактировать нужно здесь

  1. <div class="widget_content_tree">
  2.  
  3. <ul<?php if($cover_preset){ ?> class="has_cover_preset cover_preset_<?php echo $cover_preset;?>"<?php } ?>>
  4.  
  5. <?php $last_level = 0; ?>
  6.  
  7. <?php foreach($cats as $item){ ?>
  8.  
  9. <?php for ($i=0; $i<($last_level - $item['ns_level']); $i++) { ?>
  10. </li></ul>
  11. <?php } ?>
  12.  
  13. <?php if ($item['ns_level'] <= $last_level) { ?>
  14. </li>
  15. <?php } ?>
  16.  
  17. <li <?php if($item['img_src']){ ?>style="background-image: url(<?php echo $item['img_src']; ?>);"<?php } ?> <?php if ($item['css_classes']) { ?>class="<?php echo implode(' ', $item['css_classes']); ?>"<?php } ?>>
  18.  
  19. <a class="item" href="<?php echo href_to($ctype_name, $item['slug']); ?>">
  20. <span><?php html($item['title']); ?></span>
  21. </a>
  22.  
  23. <?php if ($item['childs_count']) { ?><span class="item-tags"><ul><?php } ?>
  24.  
  25. <?php $last_level = $item['ns_level']; ?>
  26.  
  27. <?php } ?>
  28.  
  29. <?php for ($i=0; $i<$last_level; $i++) { ?>
  30. </li></ul></span>
  31. <?php } ?>
  32.  
  33. </div>
#3 30 июня 2020 в 11:55
После <?php foreach($cats as $item){ ?> можно попробовать вставить что-то типа этого

  1. <?php if ($item['ns_level'] >= 3) continue; ?>
Не знаю, правда, поможет или нет.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.