Показать сообщение отдельно
Старый 22.07.2009, 01:01 Вверх   #69
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо [AJAX] Live Search [Живой поиск]

[AJAX] Live Search

Врсия: 3.1.0
Название: Живой поиск
Оригинальное название: Live Search
Описание: Поиск без перезагрузки страниц

Возможности:
Нажми для просмотра
  • не искать, если не набрано >= 3 символов;
  • заголовок к окну (в оригинале заголовка нет и кнопка закрыть находилась в списке тем);
  • если результат поиска равен нулю, выведется сообщение (в оригинале пустой лист);
  • ограничение в количестве найденных тем;
  • подсветка искомого слова найденных темах;
  • работает с vBa
  • ограничение количества выводимых результатов
  • ограничения по группам
  • поиск по собственным разделам
  • сортировка найденного
  • делается всего один запрос к базе
  • полная совместимость со стилями и браузерами
  • поиск тем по отдельным словам (разделяя пробелом)
  • интеграция в стандартный поиск
  • поиск только по указанной длине каждого слова
  • поиск пользователей
  • интервал между запросами
  • AJAX подгрузка меню поиска
  • написаны 2 класса javascript, что позволяет скрипту дистанционно следить за полем поиска
  • возможность перетаскивать окна (при нажатии на стрелочку, рядом с темой, загрузится второе окно)
  • разделение js на 2 файла (1й инициирующий, 2й рабочий), плюс добавился третий скрипт, для загрузки скриптов, в тот момент, когда поиск понадобится


Известные проблемы
Если взаимодействовать с окном просмотра сообщения, то окно со списком найденных тем пропадет.

Установка:
  • Залить файлы из папки upload на фтп в папку форума.
  • Импортировать продукт.

Обновление:
Удалите хак и прилагающие к нему файлы (если были). Пройдите этап установки. Если вы редактировали шаблоны хака - "верните" их.

Настройка:
Нажми для просмотра
Для более цивильного размещения формы через переменную $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">
Перед закрывающим тегом </form> добавляем:

Код:
					</div>
Мы подготовили форму поиска для всплывающего окна. Теперь нам нужно привязать к этому полю javascript.
Для этого в теге <input type="text" /> добавляем id="lsa_input":

В итоге у вас должен получиться такой примерно код:

Код:
				<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" class="bginput" name="query" size="25" tabindex="1001" />
					<input type="submit" class="button" value="$vbphrase[go]" tabindex="1004" />
					</div>
				</form>
Если в вашем поле поиска уже есть id и его смена может сбросить возможную привязку CSS, делаем следующее.
Открываем шаблон lsa_script и редактируем строчку

Код:
var lsa = new AJAX_LiveSearch_Init("lsa", "lsa_input", "lsa_window");
где аргументы класса:
  • lsa - имя переменной инициализирующий класс js;
  • lsa_input - id поля поиска;
  • lsa_window - id всплывающего окна;

Т.о., изменяя аргументы класса AJAX_LiveSearch_Prepare, вы можете не редактировать поле поиска.


Скриншоты:



Скачать [AJAX] Live Search v3.1.0 (18.8 Кб)

Последний раз редактировалось Serberg; 24.06.2012 в 09:34..
 
4 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.05835 секунды с 9 запросами