Перейти к содержимому
Русский язык для Invision Community 5

Быстрый поиск

Добрый вечер. Не подскажете, есть ли для тройки хук, добавляющий в стандартный поиск функцию ajax - т.е. отображение результатов поиска наподобие live поиска, в маленьком окне без нажатия кнопки поиска?

 

Как на этом сайте, к примеру. www.ivi.ru

Рекомендованные сообщения

Для форума такой поиск малоудобный, в нем либо используются более точные фильтры, либо поиск производится с выводом по сообщениям. А live search дает малоинформативный результат.

 

invisionpower.com/files/file/6440-global-ajax-quick-search/

  • Автор

Дело в том, что у меня сильно кастомизированный форум (выполнен в виде сайта, а не форума), и мне нужен live-поиск, выполняющий запрос чисто по названиям тем.

 

Я нашел подобный (другой) хук, он работает отлично. Но проблема в том, что он выполнен в виде отдельного окна над категориями форума. Возможно ли его как-нибудь вмонтировать в стандартный поиск?

 

Вот сам хук:

Ajax Live Search v1.3 for IP.Board v3.4.x.zip

Куда его вмонтировать то? Клиентскую часть нужно переписать и создать попап-окно с результатами поиска которая будет всплывать/обновляться при получение аджакс запроса. Не так уж и сложно в принципе, но не так уж и просто из-за всяких нюансов.

  • Автор
Куда его вмонтировать то?

Непосредственно в строку поиска. Т.е. чтобы этот хук работал из стандартного окна поиска.

 

А какой файл нужно редактировать?

 

не так уж и просто из-за всяких нюансов

Ого, действительно сложно? :(

  • Автор

Кстати, а возможно ли реализовать, чтобы этот хук не создавал новую строку поиска, а использовал штатное поле ввода? Интеграция таким образом, мне кажется, была бы самым лучшим и простым решением. Не подскажете, как сделать такое?

Изменено пользователем Strategius

Штатное поле ввода используется не одним только приложением, в том числе и по текущему форуму или теме. А потом еще результат нужно вывести куда нибудь рядом.

  • Автор

Жалко... А вообще этот мод можно как-нибудь связать со штатным поиском? Уж очень он удобный. Например, чтобы при вводе запроса и нажатию на кнопку Enter осуществлялся переход на стандартную страницу поиска с результатами по этому запросу?

 

В таком случае вообще можно было бы отказаться от стандартного быстрого поля поиска :)

Изменено пользователем Strategius

Не вижу в нем особого удобства, для нормального поиска он не особо годится. Это он удобный когда знаете что искать, а когда нет - ничего не найдет, так как названия тем не всегда информативны и редко соответствуют запросу. Не зря стандартный поиск имеет специальные классы с кучу настроек и нюансов.

 

А вообще этот мод можно как-нибудь связать со штатным поиском?

Можно. Поменять в нем ид который использует стандартный поиск main_search вместо als_input.

 

Например, чтобы при вводе запроса и нажатию на кнопку Enter осуществлялся переход на стандартную страницу поиска с результатами по этому запросу?

Зачем если это делает и обычный поиск.

  • Автор
Можно. Поменять в нем ид который использует стандартный поиск main_search вместо als_input.

А можно поподробней, где это сделать, если можно. А то после замены als_input на main_search в хуке live-поиск перестал работать, превратился в обычный...

 

Дело в том, что как я говорил выше, у меня кастомный форум, названия тем четкие. А идея состоит в том, чтобы полностью отказаться от быстрого поля штатного поиска. Т.е. чтобы данный мод был вместо него.

 

Хотелось бы сделать именно это:

 

Например, чтобы при вводе запроса и нажатию на кнопку Enter осуществлялся переход на стандартную страницу поиска с результатами по этому запросу?

Сейчас при нажатии на Enter происходит просто перезагрузка страницы...

Изменено пользователем Strategius

  • Автор

Не получается у меня привязать мод к штатному поиску... Не подскажете? При нажатии на Enter страница упорно перезагружается, и никак не хочет выдавать мне результаты поиска :(

Ентер нажимать не надо, ентер отправляет форму поиска. Результат должен быть в лайв режиме без нажатия ввода.

#als_input заменить на #search_term

#als_form заменить на #search-box

в public\ajaxlivesearch\als_search.php als_input заменить на search_term

 

Только вам это все равно ничего не даст. Лучше забейте, чтобы поиск работал как следует его все равно нужно переделать. У вас это явно не получится. Нет в нем необходимости, стандартный поиск справляется со своей задачи.

  • Автор
Ентер нажимать не надо, ентер отправляет форму поиска. Результат должен быть в лайв режиме без нажатия ввода.

Вы меня не совсем правильно поняли, не так я объяснил. Лайв-поиск и так сейчас работает отлично! Задача в том, чтобы при вводе текста в поле лайв-поиска и нажатию Ентера нас перебрасывало на штатное окно стандартного поиска с выданными результатами по запросу. Т.е. чтобы можно было полностью отказаться от стандартного поля поиска - оно мне не нужно.

заменить на:

 

name='als_input'

заменить на: name='search_term'

 

в public\ajaxlivesearch\als_search.php als_input заменить на search_term

  • Автор

Большое спасибо, работает, именно то, что нужно!

 

Переделали не стандартный поиск под лайв, а лайв под стандартный :)

  • 1 месяц спустя...
  • Автор

Вылез очень неприятный баг - а именно после ввода запроса (появляется анджакс-результат), и удаления его из строки, блок, выводящий результаты не исчезает :(

Нужная строчка в функции вроде присутствует:

 

$('#als_results').hide();

Всю голову уже сломал... Не ичезает и все, помогает только перезагрузка страницы. Помогите исправить этот баг, пожалуйста...

 

Оформил id-шник #als_results для визуализации бага: Ajax Live Search v1.3 for IP.Board v3.4.x.zip

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.