Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Скрывать пустые категории в списках контента #1346

Open
alex13281 opened this issue Aug 3, 2021 · 10 comments

Comments

@alex13281
Copy link

Используемая версия InstantCMS: 2

Здравствуйте. Сейчас в списках показываются все категории-подкатегории, несмотря на то, есть ли в них записи или нет.

https://demo.instantcms.ru/articles
https://demo.instantcms.ru/articles/astronomija

Снимок

Пользователь видит категорию, переходит в неё и получает сообщение о том, что статей нет.
В таком случае, было бы логично вообще не показывать эту категорию. Задачи могут быть разные. Наверное, лучше бы опционально иметь возможность показывать или нет категории без записей.

Снимок2

@fuzegit
Copy link
Member

fuzegit commented Aug 3, 2021

Удалить пустые категории видимо :)

@evgip
Copy link

evgip commented Aug 3, 2021

В таком случае, было бы логично вообще не показывать эту категорию.

ИМХО, более логично вообще не создавать категории, в которых нет контента. Категория создается, когда содержание её достаточно и оно очень четко представляет тему категории. В этом ключе даже настройка (скрыть категорию без записей), ИМХО, избыточна. А демо, это демо сайт просто.

@fuzegit
Copy link
Member

fuzegit commented Aug 3, 2021

ИМХО, более логично вообще не создавать категории, в которых нет контента. Категория создается, когда содержание её достаточно и оно очень четко представляет тему категории. В этом ключе даже настройка (скрыть категорию без записей), ИМХО, избыточна. А демо, это демо сайт просто.

Конечно.
Более того, можно в настройках нужной категории поставить чекбокс "Скрытая категория".

@alex13281
Copy link
Author

alex13281 commented Aug 3, 2021

Можно конечно удалять или не создавать категории вовсе.
Но может есть записи в черновиках, которые в этой категории? Или пользовательский контент. Пользователям нужно дать возможность видеть все категории (которые мы создали заранее), в то время как в этих категориях пока что не будет записей.

@alex13281 alex13281 reopened this Aug 4, 2021
@zau4man
Copy link
Contributor

zau4man commented Sep 2, 2021

Но может есть записи в черновиках, которые в этой категории?
Тогда, чтобы реализовать вашу идею, при получении списка категорий, нужно у каждой проверить, есть ли в ней записи, так еще и с учетом черновиков. А еще есть записи, которые показываются только друзьям.
Большая нагрузка будет...

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

@web-studio-pro
Copy link

Да, актуально если создаёшь к примеру доску объявлений, и в некоторых категориях объявления то есть то нет, пользователи же не будут категории вкл/выкл.

@YuryK9
Copy link

YuryK9 commented Jul 7, 2022

да, очень актуально, в настройку категорий типов контента добавить опцию "скрывать категорию, если в ней нет записей".
При этом, при добавлении записи давать пользователю в нее добавить запись.

@YuryK9
Copy link

YuryK9 commented Jul 7, 2022

Но может есть записи в черновиках, которые в этой категории?
Тогда, чтобы реализовать вашу идею, при получении списка категорий, нужно у каждой проверить, есть ли в ней записи, так еще и с учетом черновиков. А еще есть записи, которые показываются только друзьям.
Большая нагрузка будет...

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

Верно. Но можно на системном уровне через опцию, как я описал выше.

@zau4man
Copy link
Contributor

zau4man commented Jul 7, 2022

Верно. Но можно на системном уровне через опцию, как я описал выше

На "системном" уровне не будет такой опции по причине озвученной выше:

Но может есть записи в черновиках, которые в этой категории? Или пользовательский контент. Пользователям нужно дать возможность видеть все категории (которые мы создали заранее), в то время как в этих категориях пока что не будет записей.

И такая проверка будет очень трудоемкой. Поэтому только сторонние решения, с некоторыми допущениями, типа считать категорию непустой, даже если в ней есть скрытый черновик. И т.п.

@zau4man
Copy link
Contributor

zau4man commented Jul 9, 2022

Возможно кому-то подойдет такое решение https://instantcms.ru/blogs/skryvaem-pustye-kategorii.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

6 participants