@RuRoman

Как добавить текстовый фильтр к выводу bitrix каталога?

Не получается добавить фильтр для вывода товаров каталога по тексту, передаю в переменной текст:
$searchQuery = '';
	if (isset($_REQUEST['q']) && is_string($_REQUEST['q']))
		$searchQuery = trim($_REQUEST['q']);
	if ($searchQuery !== '')
	{
		$searchFilter = array(
			'*SEARCHABLE_CONTENT' => $searchQuery
		);
	}

Далее при подключении модуля добавляю:
"FILTER_NAME" => $searchFilter,

Но фильтр не срабатывает, все равно выводится все товары
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
Вижу 2 ошибки:
Раз:
$searchFilter = array(
      '*SEARCHABLE_CONTENT' => $searchQuery
    );

Ключ должен быть без звёздочки: 'SEARCHABLE_CONTENT'

Два:
"FILTER_NAME" => $searchFilter
Должно быть
"FILTER_NAME" => 'searchFilter'
Для поиска подстроки надо использовать префикс "%"
И сам фильтр должен быть в $GLOBALS , то есть объявлять лучше было как
$GLOBALS['searchFilter'] = array( '%SEARCHABLE_CONTENT' => $searchQuery, );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы