Mirkom63
@Mirkom63
Я программист

Не могу отфильтровать по содержимому в битриксе?

Пытаюсь вот так отфильтровать разделы:

<ul>
<?
$arSelect=array('UF_TITLE','UF_KEYWORDS','UF_DESCRIPTION','UF_AFTER_TEXT','UF_ALT');
$arFilter=array( 
    'IBLOCK_ID' => 1,
    array( 
        "LOGIC" => "OR", 
        'NAME'=>'%'.$_REQUEST['q'].'%', 
        'DESCRIPTION'=>'%'.$_REQUEST['q'].'%', 
    ),     
);
$rsSect = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter,false,$arSelect);
while ($arSect = $rsSect->GetNext())
{ 
   ?>
   <li><a href="<?=$arSect['SECTION_PAGE_URL']?>"><?=$arSect['NAME']?></a></li><? 
} 

?>
</ul>


$_REQUEST['q'] - содержит слово, которое надо найти.
по NAME ищет нормально, а по DESCRIPTION нет....может потому что там html ?
Как найти слово в DESCRIPTION?
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 2
$arFilter=array( 
    'IBLOCK_ID' => 1,
    array( 
        "LOGIC" => "OR", 
        array('NAME'=>'%'.$_REQUEST['q'].'%'), 
        array('UF_DESCRIPTION'=>'%'.$_REQUEST['q'].'%'), 
    ),     
);

Попробуйте вот так
Ответ написан
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Судя по коду метода CIBlockSection::GetFilter, фильтровать по полю DESCRIPTION нельзя.

Нужно искать обходные пути или поправить метод.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
27 апр. 2024, в 19:58
2500 руб./в час
27 апр. 2024, в 19:48
10000 руб./за проект