Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как убрать вывод умного фильтра в разделе, в котором отсутствуют элементы

00 голосов
1
Как я понимаю нужно перед выводом компонента фильтра написать условие, что только если количество активных элементов в текущем разделе > 0 выводить компонент фильтра.

только как это кодом оформить в коде не могу разобраться.
спросил 24 Апр, 14 от аноним

1 Ответ

00 голосов
Проще всего это сделать с помощью яваскрипта, а не php. Как-то так:

if ($arElements == 0) {

   echo "<script>$('smart-filter').hide();</script>"

}

 

Ещё вариант - можно попробовать в result_modifier.php шаблона компонента фильтра получить текущий раздел, найти ко-во элементов, и если элементов нет - сделать return; . Если не сработает return - можно define('HIDE_FILTER');, а в template.php шаблона фильтра if (defined('HIDE_FILTER')) return;

Пробуйте =)
ответил 24 Апр, 14 от root (25,590 баллов)
Спасибо) Попробовал яваскрипт, но он выводится постоянно, в независимости от количества активных элементов раздела.
нашел интересную статью, где описано как определять активные элементы http://coder-diary.ru/programming/bitrix-kolichestvo-aktivnyx-elementov-v-razdele-kataloga/
 но не хватает знаний, чтобы все правильно совместить.( (

Похожие вопросы

0 голосов
0 ответов
0 голосов
1 ответ
0 голосов
3 ответов
0 голосов
4 ответов
спросил 16 Дек, 13 от Marc (100 баллов)