Скрываем пустые категории

+12
1.19K

Компонент позволяет скрывать пустые категории из списка категорий над списком записей.

Сразу договоримся, что пустой считается категория, в которой (и у дочерних которой) нет ни одной записи, ни черновика, ни записи на модерации.

После установки откройте настройки компонента Не показывать пустые категории и выберите типы контента, в которых такое скрытие нужно.

Затем в списке задач планировщика запустите задачу Проверка пустоты категорий. При ее запуске категории без записей будут помечены в базе.

Компонент также отслеживает добавление записей, и снимает флаг пустоты категории при добавлении/редактировании записей.
Скрытие пустых категорий происходит только при выполнении задачи планировщика.

Чтобы эту пометку использовать, нужно внести правки в шаблон, в файл с выводом этих категорий \controllers\content\category_view.tpl.php

В архиве уже есть два этих файла для default и modern шаблона. Чтобы правки не потерялись при обновлении, очень рекомендую сделать дочерний шаблон по инструкции, и скопировать \controllers\content\category_view.tpl.php из родительского шаблона в дочерний шаблон.

Если вы уже вносили правки в этот файл, то добавьте скрытие категории в шаблоне самостоятельно

Откройте файл \templates\ваш_шаблон_или_дочерний\controllers\content\category_view.tpl.php

и ПОСЛЕ

  1. <?php foreach($subcats as $c){

ДОБАВЬТЕ

  1. if(!empty($c['is_it_empty'])){continue;}

В качестве демонстрации можно сравнить разделы статей на официальном демо-сайте demo.instantcms.ru/articles и на моем демо demo.bergorod.ru/articles

В моем демо пустой категории Геология нет.

Прикреплённый файл:
Скачать 11 Кбскачан 34 раза
+3
Def Def 2 года назад #

должно быть классное решение. надо тестить, давно ждали в коробке:)

0
Demetre Demetre 2 года назад #

в NextModern не работает(

0
Zau4man Zau4man 2 года назад #

Внесите правки ручками, как описано в конце статьи.

Шаблоном NextModern не пользовался, прокомментировать не могу.

0
Demetre Demetre 2 года назад #

ок, обратимся к разработчику

0
Юрий Юрьевич Юрий Юрьевич 2 года назад #

Добрый день, спасибо,  классная разработка.
1) С версией InstantCMS v2.12.2 не будет работать? 
Изменения в файл category_view.tpl.php внес 
Создал вручную задачу для крона (почему-то не установилась задача), с именем компонента dntshowemptycats и хуком по имени cron_recount. После запуска ничего не происходит
2) А в сайтмапу ссылки на эти страницы тоже попадать не будут? 

0
Zau4man Zau4man 2 года назад #

1. Не будет, нужно добавить файл манифеста, так как хуки автоматически начали работать только с версии 2.14.2 instantcms.ru/novosti/release2142.html

2. Будут попадать

0
Юрий Юрьевич Юрий Юрьевич 2 года назад #

Заработало)

Вообще я так понял, компонент просто убирает ссылки на страницы категорий только из меню. 


Но получается, что по прямой ссылке страница категории активна. И ссылка в сайтмапе еще. Для поисковых систем это не хорошо. То что страницы без контента активны. Я думаю это касается всех проектов, где много разделов/ категорий например интеренет-магазины, доски объявлений и т. д.  Такие страницы буду помечаться как  малополезные. И так же это отнимает ресурсы краулингового бюджета сайта. Поэтому будет замедлять индексацию новых страниц. В идеале пока страница не без контента, она должна отдавать код 404 

0
Zau4man Zau4man 2 года назад #

Именно так. В первой же строчке поста написано

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

Другой функциональности не заявлено...

0
Yuran Yuran 2 года назад #

Компонент позволяет скрывать пустые категории из списка категорий над списком записей.

А для чего тогда вообще их скрывать, если это еще и не полезно для seo? В чем смысл их скрывать и для кого/чего скрывать? Я не к тому, чтобы докапываться до автора… Возможно это и нужное дополнение. Просто объясните какая от него польза. То, что написано в первой строчке поста я читал.

Еще от автора

Шаблон вывода категорий
Делюсь небольшим компонентом, который выводит на списком записей список категорий со своим шаблоном.
Виджет "Меню добавить"
Небольшой виджет, предназначенный исключительно для вывода меню добавления контента.
ZПоиск. Другой взгляд на поиск
В рамках более глубокого знакомства с Vue в частности с появившимся недавно Composition Api сделал на Vue небольшой компонент, который по функционалу
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.