Умный фильтр bitrix не работает

Умный фильтр не выдает результат.

Добрый день, уважаемые знатоки Bitrix!

Пожалуйста, помогите решить проблему! Наверное, что-то с URL.

Поставила компонент Каталог , ставлю Умный фильтр отдельно слева на сайте. Свойства инфоблока настроены на фильтр.
В принципе фильтр делает выборку по свойствам, но при нажатии на Показать, остается на той же странице, где делался запрос и ничего не показывает.

В настройках типа инфоблока стоят такие пути:

Инфоблок: #SITE_DIR#/aaaa/
Раздел: #SITE_DIR#/aaaa/#SECTION_CODE#/
Элемент: #SITE_DIR#/aaaa/#SECTION_CODE#/#ELEMENT_CODE#/

Теперь настройки компонента Каталог:

Каталог ЧПУ (относительно корня сайта): /aaaa/
Раздел: #SECTION_CODE#/
Детальная информация: #SECTION_CODE#/#ELEMENT_CODE#/
URL раздела для умного фильтра: #SECTION_ID#/filter/#SMART_FILTER_PATH#/apply/

Это надо создавать раздел filter? Создала раздел aaaa/filter/.

Настройки Умного фильтра есть вот такое ID раздела инфоблока: =

И что дальше делать? Видимо я что-то не сделала в настройках фильтра или сделала не то вообще. В PHP не сильна пока, к сожалению. Почитала документацию по фильтру, но мне не все понятно. Что надо ставить в Правило для обработки, Блок ЧПУ умного фильтра.

Ни в документации, ни в учебном курсе, ни в примере сайта в виртуальной лаборатории я не встречала пункт в компоненте Каталог «URL раздела для умного фильтра: #SECTION_ID#/filter/#SMART_FILTER_PATH#/apply/»

Продолжаю разговор сама с собой .))

Обратила внимание, что все свойства отображаются корректно, только при выборе свойств ярлычок сбоку показывает 0 товаров и при нажатии на кнопку «Показать» — ничего не происходит, соответственно. Где-то прочитала о совпадении FILTER_NAME у компонентов Умный фильтр и Каталог, у меня он одинаков arrFilter. Что может быть еще? Куда копать?

И что нужно указывать в «Поле» настройки фильтра в компоненте Каталог?

Очень нужна помощь.

Спасибо за отклик. Я уже думала, что никто не отзовется.
Продолжаю рассуждать. Если у кого будет желание, поправьте меня, пожалуйста.

Для уточнения — я поставила совсем свежую версию 1С-Bitrix УС. Пишу для того, что мне кажется, что документация и описание программы на сайте автора как-то не везде соответствуют текущей версии.

Провела эксперимент. Сделала новый инфоблок со свойствами, разделами, элементами. Поставила компонент «Каталог», в котором включила показ фильтра.
Прописала настройки :
Фильтр: arrFilter
Каталог ЧПУ (относительно корня сайта): /инфоблок/
Список разделов: /инфоблок/
Раздел: #SECTION_CODE#/
Детальная информация: #SECTION_CODE#/#ELEMENT_CODE#/
Url раздела для умного фильтра: #SECTION_CODE#/filter/#SMART_FILTER_PATH#/apply/

И о, радость! Фильтр заработал. НО! Я так понимаю, что это встроенный фильтр в компонент Каталог, он не «Умный», хотя работает так, как мне хотелось. Но опять НО. Фильтр появляется только на странице со списком элементов. Хотелось бы, чтобы появлялся на странице списка разделов. Для этого ставится Умный фильтр?

Попробовала сделать как написано https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=42&LESSON_ID=5167 .
Но в шаблоне компонента /bitrix/templates/ /components/bitrix/catalog/ ­шаблон_компонента>/section.php я не нашла блок фильтра вообще. Подставила код Умного фильтра — он появился на странице списка разделов, но не работает. А на странице списка элементов остался встроенный фильтр.

Пожалуйста, прокомментируйте мои действия.

Цитата
Марина написал:
А обязательно тип инфоблока и инфоблок должны называться Каталог / catalog?

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

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

Комплексный компонент уже включает в свой набор фильтр, который включается одной галочкой в настройке компонента, и если не чего не трогать сразу заработает. А вот отдельный к комплексному прикрутить, без знаний не тривиальная задача.

Как верно пишет Максим, если требуется собрать всю связку самостоятельно, для большей гибкости, то нужно брать отдельные компоненты и собирать все на них.

Я сейчас готовлю статью по ЧПУ, там я как раз показываю сборку разделов с подразделами, на основе отдельных компонентов, там не будет умного фильтра, но общий принцип раздельного создания будет такой же, вам останется на нужной странице разместить умный фильтр как отдельный компонент и настроить его.

Юрий Волошин «Я сейчас готовлю статью по ЧПУ. «

Очень интересная статья, но с нетерпением буду ждать вторую часть.)))

Наконец, у меня наступила ясность в работе комплексного компонента «Каталог» и, соответственно, встроенного Умного фильтра.
Но теперь появились новые проблемы. По тех. заданию фильтр должен находиться в левой части страницы, что не предусмотрено компонентом.
Нашла в Инете изумительный ролик по переносу УФ http://www.youtube.com/watch?v=Rbez1ep9TUE . Правда, описан метод для 14 версии Битрикса.
Сделала по второму методу — отложенные функции, покопавшись в 15-ой. Фильтр перенесся, НО при указании параметров для поиска становится неактивной кнопка «Показать». При сбросе условий становится опять активной.
Вот фрагмент кода шаблона (жирным шрифтом выделила мои вставки):

$this->SetViewTarget(«my_filter»);
$APPLICATION->IncludeComponent(«bitrix:catalog.smart.filter»,»»,array(
«IBLOCK_TYPE» => $arParams[«IBLOCK_TYPE»],
«IBLOCK_ID» => $arParams[«IBLOCK_ID»],
«SECTION_ID» => $arCurSection[‘ID’],
«FILTER_NAME» => $arParams[«FILTER_NAME»],
«PRICE_CODE» => $arParams[«PRICE_CODE»],
«CACHE_TYPE» => $arParams[«CACHE_TYPE»],
«CACHE_TIME» => $arParams[«CACHE_TIME»],
«CACHE_GROUPS» => $arParams[«CACHE_GROUPS»],
«SAVE_IN_SESSION» => «N»,
«FILTER_VIEW_MODE» => $arParams[«FILTER_VIEW_MODE»],
«XML_EXPORT» => «Y»,
«SECTION_TITLE» => «NAME»,
«SECTION_DESCRIPTION» => «DESCRIPTION»,
‘HIDE_NOT_AVAILABLE’ => $arParams[«HIDE_NOT_AVAILABLE»],
«TEMPLATE_THEME» => $arParams[«TEMPLATE_THEME»],
‘CONVERT_CURRENCY’ => $arParams[‘CONVERT_CURRENCY’],
‘CURRENCY_ID’ => $arParams[‘CURRENCY_ID’],
«SEF_MODE» => $arParams[«SEF_MODE»],
«SEF_RULE» => $arResult[«FOLDER»].$arResult[«URL_TEMPLATES»][«smart_filter»],
«SMART_FILTER_PATH» => $arResult[«VARIABLES»][«SMART_FILTER_PATH»],
«PAGER_PARAMS_NAME» => $arParams[«PAGER_PARAMS_NAME»],
),
$component,
array(‘HIDE_ICONS’ => ‘Y’)
);
$this->EndViewTarget();
?>

Вставка по месту: ShowViewContent(«my_filter»);?>

Может подскажет кто, в чем дело?

Лихо взялась, Битрикс еще не снится по ночам?

Причина в том, что $this-> это как раз в компоненте использовать нужно, а чтоб компонент целиком запихнуть воспользуйтесь

Нет, не снится. Я по ночам работаю.

Простой способ тоже еще не совсем прост для меня. )

Но, подумав, решила, что этот путь тоже не очень подходит, т.к. я хотела средствами html поставить фильтр слева, что означает, что на других «страницах » компонента Каталог появляется пустое место. А ставить в шаблон сайта тоже нельзя. Т.е. надо делать отдельный шаблон сайта.

Подожду вторую часть статьи Волошина и потом буду принимать решение.

Добрый день!
Пока писала вопрос, решила проблему )))
Оставлю, вдруг пригодится.
Внедряю Умный фильтр на странице с комплексным компонентом.
Код фильтра помещаю в section.php (код в следующем сообщении)

FILTER_NAME у каталога и смарт фильтра равны «»

В комплексном компоненте Каталог ВКЛЮЧЕН фильтр. Просто галочку поставить.

Источник

Используем и дорабатываем «умный» фильтр

Компонент «Умный фильтр» (catalog.smart.filter) — безусловно хороший и удобный, но если использовать его вне стандартного шаблона комплексного компонента «catalog», на первый взгляд может показаться, что он недоделан (например, отказывается нормально работать без указания раздела и др.), но это не совсем так. В этой статье я расскажу как использовать его скрытые возможности и как вносить некоторые изменения в ЧПУ фильтра.

Показать скрытое содержимое

Использование фильтра без указания раздела

В стандартном шаблоне компонента «catalog» компонент «catalog.smart.filter» используется на странице раздела. В комплексном же компоненте «news» вообще используется устаревший компонент «catalog.filter», почему, лично для меня это остается загадкой — могу только предполагать, что либо компании «Битрикс» глубоко безразлично все, что не связано с электронной коммерцией, либо разработчики сами не до конца уверены в производительности «catalog.smart.filter» при обработке большого количества элементов. Так или иначе, использовать «catalog.smart.filter» в шаблоне компонента «news» или в том же «catalog», но не в конкретном разделе, не так сложно, основная проблема, которая тут возникает — это то, что по умолчанию, без указания в параметрах компонента ID или символьного кода раздела не работает счетчик количества элементов (показывает 0). Чтобы избавится от этой проблемы, укажем в параметре «SECTION_ID» — 0, а в дополнительном параметре «SHOW_ALL_WO_SECTION», который был заботливо подготвлен программистами, но потом почему-то тщательно спрятан от посторонних глаз — «Y». Напомню, что такой же параметр существует и у компонента «catalog.section» и означает «Показывать все элементы без указания раздела».

Код размещения фильтра для шаблона компонента «catalog»:

Кроме того, чтобы фильтр мог использовать ЧПУ на главной странице компонента, понадобится копирование и несложная доработка самого комплексного компонента — «catalog» или «news»:

Для компонента «catalog»:

1. Добавляем строку

в массив $arDefaultUrlTemplates404 (если что-то не работает, попробуйте поменять в нем порядок элементов).

2. После вызова $engine->guessComponentPath добавляем строки:

Для компонента «news»:

1. Перед определением массива добавляем строку:

Источник

Не работает умный фильтр Битрикс

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Умный фильтр
Доброго времени суток! Необходимо настроить умный фильтр таким образом, чтобы если по выбранным.

Умный фильтр
Добрый день. На сайте размещён каталог продукции, разбитый на категории. При открытии полного.

Умный фильтр
Доброго времени суток! Необходимо вывести/настроить умный фильтр. Данный фильтр выведен/настроен.

Умный фильтр
Добрый вечер, вопрос такой, есть магазин в котором 2 вида цен: Розничная цена и Цена в магазине.

Ну здесь точно должен быть фильтр или я ошибаюсь?

Добавлено через 18 минут
Подскажите, как быть.

Тут надо смотреть. А так как на кофейной гуще гадать.

Умный фильтр с поиском
Добрый день! Подскажите пожалуйста, как реализовать стандартными средствами 1С-Bitrix фильтр с.

Умный фильтр не фильтрует
Добрый день. Есть сайтик, на нем поставили стандартный умный фильтр, отображаются и загружает все.

Умный фильтр. Разделение параметров
Всем привет. Подскажите, стандартными способами свойства в умном фильтре можно разделить на 2.

Добавить умный фильтр в раздел бренды
Добрый день. Подскажите, пожалуйста, как добавить умный фильтр в раздел Бренды.

Источник

Не работает умный фильтр в 1C Битрикс почему?

Доброго времени суток уважаемые форумчане,сломал голову уже не могу понять почему не работает умный поиск в битрикс,код прилагаю ниже.

за ранее очень благодарен за ответ

  • Вопрос задан более трёх лет назад
  • 3459 просмотров

не могу понять почему не работает

А во втором компоненте свойства (то есть то, что касается *_PROPRTY_*) заполняли руками или через настройки компонента. Покопайте в сторону указания в таком виде (копирую от себя):

«LIST_PROPERTY_CODE» => array(
0 => «BRAND»,
1 => «PROP_3001»,
2 => «PROP_2033»,
3 => «PROP_3000»,
4 => «PROP_2084»,
5 => «PROP_2083»,
6 => «PROP_3004»,
7 => «COLOR_REF2»,
8 => «PROP_159»,
9 => «PROP_2052»,
10 => «PROP_2027»,
11 => «PROP_2053»,
12 => «PROP_2049»,
13 => «PROP_2026»,
14 => «PROP_2044»,
15 => «PROP_162»,
16 => «PROP_2065»,
17 => «PROP_2054»,
18 => «PROP_2017»,
19 => «PROP_2055»,
20 => «PROP_2069»,
21 => «PROP_2062»,
22 => «PROP_2061»,
),

Источник

Вывод количества найденных товаров в умном фильтре не работает?

795 строка , вывод счетчика с кнопкой перехода, не работает не только счетчик но и переход, просто сбрасывает страницу и все. AJAX в компонентах отключен.
Заметил такую особенность, если фильтровать по другим полям не ползунками, при фильтрации шкала ползунка затемнятся на цене ,но сам шарнир у ползунка не сдвинут, у ползунка кастомизировался ползунок в css.

  • Вопрос задан более года назад
  • 1134 просмотра

Кстати да, я же поставил чистый битрикс, перед тем как с ползунками решить проблему и поставил шаблон bootstrap_v4 и там не корректно работали ползунки, я не стал париться разбираться почему не работает и сделал на .default шаблоне.
Но если, принципиально bootsrap шаблон нужен, то решение очень простое:
— либо в script.js функция JCSmartFilter.prototype.gatherInputsValues там где case ‘text’ и другие идут не хватает case ‘number’
— либо в template.php у инпутов тип с number на text поменять

Лучше первый вариант, более универсальное решение

PetrPo,
2.Ну вот пример: По умолчанию фильтр настроен ,всего 6 фильтров с ползунками, но 3 в свернутом положении а 3 в развернутом. После того как ты один «развернутый» по умолчанию фильтр с ползунами установил значения, нажал «показать» страница обновилась, и все 6 свойств с ползунками оказались в развернутом положении!

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

PetrPo, Есть у smart.filter в папке только component_epilog.php с содержимым CJSCore::Init(array(‘fx’, ‘popup’));
При фильтрации ползунками ,проверил у зарытых и не участвующих фильтров стоит после фильтрации DISPLAY_EXPANDED = Y
Если же без фильтрации по полям с ползунками делать то у свойств которые должны быть закрыты DISPLAY_EXPANDED = null ,у кого должны быть в раскрытом виде у них DISPLAY_EXPANDED = Y ,тоесть им заведомо не верно задается это значение видимо.

Если это в /home/bitrix/www/bitrix/components/bitrix/catalog.smart.filter ,то я его не модифицировал .

В style.css есть
.smart-filter-button-box .smart-filter-block,
.smart-filter-parameters-box.bx-active .smart-filter-block

В tempale.php
if ($arItem[«DISPLAY_EXPANDED»] == «Y»):?>bx-active «>

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

PetrPo, Запутался весь =)
В общем системный компонент я не модифицирую не каким образом, модифицирую только его шаблон в /local/
Да вот этот файл /home/bitrix/www/bitrix/components/bitrix/catalog.smart.filter/component.php я не модифицировал никаким образом.
Проблема такая :
1.Используем фильтр с ползунками ,тогда при обновлении страницы у тех свойств с ползунками у которых
DISPLAY_EXPANDED = null , меняется параметр на DISPLAY_EXPANDED = Y, как и у тех что всегда это значение DISPLAY_EXPANDED = Y
2. При использовании фильтра у свойств не с ползунками, свойство DISPLAY_EXPANDED = null сохраняется

Попробовал на .default шаблоне,там поведение нормальное, 3 раскрытых свойства с ползунками так и остаются раскрытыми,а те что скрыты ,так и остаются скрытыми. Хотелось бы такого добиться на bs4 шаблоне. но что там сломано =(

UPD:
Как оказалось, с шаблоном default если нажимать на ссылку которая выводиться с кол-вом найденного , то поведение нормальное, а если нажимать на кнопку «Показать» — «Сбросить» показать ,то такая же ситуация ,раскрываются все свойства с ползунками.

PetrPo, Кажется понял в чем дело, в фильтр для показа передаются все сразу свойства, всех ползунков,даже если их не трогал , в данном примере выбираю для фильтрации только одно свойство arrFilter_P1_MIN=90&arrFilter_P1_MAX=157 а в GET попадают все 6 свойств с ползунками.

А у default шаблона передается только ?set_filter=y&arrFilter_P1_MAX=144 опять же если нажимать на ссылку где количество элементов, если нажимать на обычный кнопки «показать» то тоже вываливает такой большой фильтр.

Источник

Читайте также:  Если usb модем не работает через удлинитель
Оцените статью