Фильтрация по точному совпадению в фильтре каталога битрикс

В свойствах стоит тип строка, поиск осуществляеться по совпадению в строке, пример: вы ввели 4 а вывело 104 и 4 и 401 и 34 тоесть всё где есть 4. что бы точно точное совпадение для этого нужно следующие:

1. Нужно скопировать стандартный компонент /bitrix/components/bitrix/catalog.filter, например, сюда /bitrix/components/custom/catalog.filter  — это нужно для того чтобы после обновление не стерлось то что вы написали.

2. Потом в шаблоне компонента catalog нужно будет везде, где есть вызов фильта поменять с bitrix:catalog.filter на custom:catalog.filter
Потом создать в шаблоне catalog папку custom, в ней .default и в этйо папке шаблон для кастомизированного компонента использовать

 

3. в файле /components/bitrix/catalog.filter/component.php

нужно найти эти строчки примерно на 533 строке

 

Код
 case "S":
      case "E":
      case "G":
         $name = $FILTER_NAME."_pf[".$arProp["CODE"]."]";
         $value = $arrPFV[$arProp["CODE"]];
         if(!is_array($value))
         {
            $res .= '<input type="text" name="'.$name.'" size="'.$arParams["TEXT_WIDTH"].'" value="'.htmlspecialcharsbx($value).'" />';

            if (strlen($value) > 0)
               ${$FILTER_NAME}["PROPERTY"]["=".$arProp["CODE"]] = $value;
         }
         break;

То есть в строке «=».$arProp[«CODE»] ставиться «=»,а в стандартном стоит «?»

 

я день искал эту строчку, вот система та.

Отправить комментарий

Другие статьи рубрики "Фильтр каталога битрикс (catalog.filter)"