Поиск без *

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
ratz
phpBB 1.2.0
Сообщения: 12
Стаж: 15 лет 11 месяцев
Откуда: Волгоград
Благодарил (а): 3 раза

Поиск без *

Сообщение ratz »

Здравствуйте.
Имею форум на PhpBB 3.0.7-PL1
Столкнулся с проблемой, а именно поиск по умолчанию выполняется по точному совпадению поисковой фразы.
Многие пользователи не догадываются о возможности использования звёздочки.
Хотелось чтоб быстрый поиск производился не по слову целиком, а по частичному совпадению в словах, по умолчанию.
Подскажите, существует/возможна ли такая реализация?
xxx> UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса.
yyy> а карта бумажная? Это UNIX way!
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Поиск без *

Сообщение Nekstati »

Найти в search.php

Код: Выделить всё

$keywords		= utf8_normalize_nfc(request_var('keywords', '', true));
Заменить на

Код: Выделить всё

$keywords		= utf8_normalize_nfc(request_var('keywords', '', true)) . '*';
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Поиск без *

Сообщение MIT »

Стоило бы, наверно, добавлять «*» с обеих сторон, предварительно проверяя их наличие.
Аватара пользователя
ratz
phpBB 1.2.0
Сообщения: 12
Стаж: 15 лет 11 месяцев
Откуда: Волгоград
Благодарил (а): 3 раза

Re: Поиск без *

Сообщение ratz »

Вот только теперь нажимая на расширеный поиск получаю:
Следующие слова в поисковом запросе были проигнорированы, так как являются часто употребимыми: *.
xxx> UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса.
yyy> а карта бумажная? Это UNIX way!
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Поиск без *

Сообщение Nekstati »

Тогда прежнюю правку откатите и сделайте так. Найти:

Код: Выделить всё

$keywords		= utf8_normalize_nfc(request_var('keywords', '', true));
Добавить после:

Код: Выделить всё

$keywords		.= ($keywords && utf8_strpos($keywords, '*') === false) ? '*' : '';
Или, как советует MIT, чтобы звёздочки добавлялись с обеих сторон:

Код: Выделить всё

$keywords		= ($keywords && utf8_strpos($keywords, '*') === false) ? '*' . $keywords . '*' : $keywords;

Вернуться в «Поддержка phpBB 3.0.х»