SimpleSearch

Добрый день, на сайте реализован поиск через simplesearch, объявлен вот так [[!SimpleSearch? &useAllWords=`1` &matchWildcard=`false`]], проблема заключается в том, что если при поиске запрос начинать с цифры, но на выходе виден запрос без цифры, к примеру, если набрать «4 класс», то результат будет «класс». Помогите пожалуйста решить проблему
Дима
31 августа 2020, 15:57
modx.pro
517
0

Комментарии: 3

Руслан Алеев
31 августа 2020, 19:07
0
В в вызове укажите &minChars=`1`.

И в файле:
core/components/simplesearch/model/simplesearch/simplesearch.class.php
Замените условие у функции parseSearchString($str = '') (строка 155) на:
if (strlen($term) < $minChars && in_array($term, $reserved)) {
    unset($this->searchArray[$key]);
}
По-моему там ошибка в проверке. Было !in_array($term, $reserved).
    Руслан Алеев
    31 августа 2020, 20:35
    0
    И еще поменяйте в условии
    strlen($term)
    на
    iconv_strlen($term)
    Дима
    31 августа 2020, 22:23
    +1
    всё заработало, спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3