Скрипт скрытия пустых категорий в $CATEGORIES$

Юрий Герук 2020-12-18 990 4
Скрипт скрытия пустых категорий в $CATEGORIES$

Содержание

    О чем материал ?

    У вас есть модули в которых используются категории которые выводятся в правом или левом контейнере оператором $CATEGORIES$, сегодня мы рассмотрим решение, которое позволит скрыть пустые категории с 0 материалов. По сути когда категория пустая, визуально она ненужная и не должен ее видеть посетитель, данным решением мы решим эту проблему.

    Как установить скрипт скрытия пустых категорий ?

    Перейдите в первый или второй контейнер где у вас установлен блок категорий с помощью кода $CATEGORIES$ и немного ниже рядом прописать такой скрипт:

    <script>
    $(function(){
    $('.catNumData').each(function(){if($(this).text() == "[0]"){$(this).parent().hide();}});
    });
    </script>

    сохраните изменения и готово.

    Лицензия: CC BY-SA 4.0

     

    Автор: Юрий Герук

    Похожие материалы:

    Комментарии

    avatar
    Идея замечательная. Но у меня несколько разделов, и только в одном есть пустые категории, я поставил скрипт как вы советуете. Но пустые категории из этого раздела не исчезли.
    Пример:
    Каталог файлов.
    категории:
    Скачать музыку.
    Скачать книги
    Скачать игры
    и т.д.
    только в категории "скачать книги" есть пустые разделы без материалов.
    Вероятно сой вопрос не совсем подходит для данного скрипта.
    Y
    Данный скрипт будет работать лишь для категорий у которых материалов = 0, в разделе "Скачать книги" у вас все отлично работает по данному скрипту если установите. В других разделах у вас материалы есть и они не пустые.
    avatar
    Здравствуйте. Скажите, у меня ещё стоял скрипт скрывающий квадратные скобки. Плюс ещё этот. Сделал так
    $CATEGORIES$
    <script>
    $(function(){
    $('.catNumData').each(function(){if($(this).text() == "0"){$(this).parent().hide();}});
    });
    $('.catNumData').each(function () {
    $(this).html($(this).html().replace(/\[|\]/g, ''));
    });
    </script>

    Правильно? Всё работает, но вдруг что-то лишнее? smile
    avatar
    Да, все верно, обе функции прописаны отдельно не затрагивая друг друга, можно так использовать не дублируя и создавая дополнительные скрипты.