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

+12
1.01K

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

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

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

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

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

Чтобы эту пометку использовать, нужно внести правки в шаблон, в файл с выводом этих категорий \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 Кбскачан 30 раз
+3
Def Def 1 год назад #

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заработало)

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


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

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

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

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

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

0
Юран Юран 1 год назад #

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

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

Еще от автора

Готовый сайт лендинг компании по подбору персонала
Делал два года назад. Заказчик сменил профиль и сайт не пригодился.
Выведем контент группы в списке полей группы
Поле позволяет в списке полей группы вывести последний контент этой группы.
Чиним реферальные ссылки биллинга при закрытом сайте
Проблема такая: если сайт закрыт, то при переходе по реферальной ссылке типа /r/1 пользователя перехватывает компонент Авторизация, и хук биллинга, ко
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.