[AJAX] Live Search 2.1.5
Название: Живой поиск
Оригинальное название: Live Search
Описание: Поиск без перезагрузки страниц
Возможности:- не искать, если не набрано >= 3 символов;
- заголовок к окну (в оригинале заголовка нет и кнопка закрыть находилась в списке тем);
- если результат поиска равен нулю, выведется сообщение (в оригинале пустой лист);
- ограничение в количестве найденных тем;
- подсветка искомого слова найденных темах;
- работает с vBa
- ограничение количества выводимых результатов
- ограничения по группам
- поиск по собственным разделам
- сортировка найденного
- делается всего один запрос к базе
- полная совместимость со стилями и браузерами
- поиск тем по отдельным словам (разделяя пробелом)
- интеграция в стандартный поиск
Установка:
Импортировать продукт
Обновление:
Удалите хак и прилагающие к нему файлы (если были). Пройдите этап установки. Если вы редактировали шаблоны хака - "верните" их.
Настройка:
Для более цивильного размещения формы через переменную $lsaform, могу предложить хорошее место
В шаблоне
navbar выше этого:
Код:
<if condition="$show['member']">
<td class="alt2" nowrap="nowrap">
<div class="smallfont">
<strong><phrase 1="$bbuserinfo[username]" 2="member.php?$session[sessionurl]u=$bbuserinfo[userid]">$vbphrase[welcome_x_link_y]</phrase></strong><br />
Добавляем этот код:
Код:
<td class="alt1" align="center" nowrap="nowrap">
$lsaform
</td>
Форма поиска разместится слева от блока
Добро пожаловать, Юзер
Если вы уже имеете свою форму поиска и хотите прикрутить к ней AJAX, делаем следующее.
Форма поиска выглядит примерно так:
Код:
<form action="search.php?do=process" method="post">
<input type="hidden" name="do" value="process" />
<input type="hidden" name="quicksearch" value="1" />
<input type="hidden" name="childforums" value="1" />
<input type="hidden" name="exactname" value="1" />
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />
<input type="text" class="bginput" name="query" size="25" tabindex="1001" />
<input type="submit" class="button" value="$vbphrase[go]" tabindex="1004" />
</form>
Итак, после открытия тега <form ХХХ> добавляем ниже:
Код:
<div id="lsa_window">
Далее находим тег <input ХХХ> со значением type="text" и добавляем (если совпадут замените) следущие:
Код:
id="lsa_input" name="query" tabindex="1001" maxlength="$vboptions[lsa_maxsym]" value="$vbphrase[live_search]" <if condition="!in_array($bbuserinfo[usergroupid], array($vboptions[lsa_group]))">onfocus="lsaclick();" onblur="this.
Перед закрывающим тегом </form> добавляем:
В итоге у вас должен получиться такой примерно код:
Код:
<form action="search.php?do=process" method="post">
<div id="lsa_window">
<input type="hidden" name="do" value="process" />
<input type="hidden" name="quicksearch" value="1" />
<input type="hidden" name="childforums" value="1" />
<input type="hidden" name="exactname" value="1" />
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />
<input type="text" id="lsa_input" name="query" tabindex="1001" maxlength="$vboptions[lsa_maxsym]" value="$vbphrase[live_search]" <if condition="!in_array($bbuserinfo[usergroupid], array($vboptions[lsa_group]))">onfocus="lsaclick();" onblur="this.value='$vbphrase[live_search]';" onkeyup="showHint();" onmouseup="showHint();"<else />onfocus="if(this.value=='$vbphrase[live_search]'){this.value=''};" onblur="this.value='$vbphrase[live_search]';"</if> />
<input type="submit" class="button" value="$vbphrase[go]" tabindex="1004" />
</div>
</form>
Live DEMO: http://bormotuhi.net/
Актуальная версия на 22.07.2009 - 3.0.2.
Скачать ее можно тут