Поиск по сайту , сниппет AjaxSearch

AjaxSearch - один из наиболее популярных сниппетов из поставляемых в комплекте дистрибутива MODx. На текущий момент версия 1.8.3a, в которой исправлено множество ошибок и на сегодняшний день вполне рабочая. Сниппет не зря получил такую популярность - невероятно мощное, современное и гибкое решение для создания поиска в рамках сайта. С помощью AjaxSearch можно организовать поиск по всем ресурсам сайта, по группам документов, с фильтрацией результатов, с настраиваемым видом отображения результатов поиска. Позволяет ограничить область поиска перечислением необходимых полей документов, подключить плагин PHx если необходима дополнительная логика.  Отображение результатов поиска может быть как в классическом стиле - на отдельной странице , так и во всплывающем окне с поддержкой "поиска на лету". Возможна подсветка найденных слов. Как и для прочих сниппетов modx, AjaxSearch может использовать пользовательские шаблоны.  AjaxSearch достаточно хорошо документирован, есть русский перевод параметров, отдельный раздел анклийского wiki(рекомендую) и русский wikibooks

Здесь приведу лишь пару простых, наиболее востребованных  примеров.

Обычный поиск с выводом результатов на отдельной странице:

1) Создаём новый документ ( ресурс ) , отключаем возможность поиска по нему и html редактор. В область контента помещаем строку:

[!AjaxSearch? &ajaxSearch=`0` &parents=`ID1,ID2,ID3` &AS_showForm=`0`!]

2) Создаём чанк {{search}} и копируем в него следующее:

[!AjaxSearch? &ajaxSearch=`0` &parents=`ID1,ID2,ID3` &AS_landing=`XX` &AS_showResults=`0`!]

XX - ID страницы которую сделали в пункте 1.
ID1,ID2,ID3 - список родительских ресурсов (папок) , в пределах которых будет осуществляться поиск.

3) Добавляем описание стилей , каждый по вкусу... , ну что-нибудь вроде:

  1.  
  2. #ajaxSearch_form {
  3. color: #444;
  4. width: auto;
  5. }
  6. #ajaxSearch_input {
  7. width: auto;
  8. display: inline;
  9. height: 17px;
  10. border: 1px solid #ddd;
  11. border-left-color: #c3c3c3;
  12. border-top-color: #7c7c7c;
  13. background: #fff url(images/input-bg.gif) repeat-x top left;
  14. margin: 0 3px 0 0;
  15. padding: 3px 0 0;
  16. vertical-align: top;
  17. }
  18. #ajaxSearch_submit {
  19. display: inline;
  20. height: 22px;
  21. line-height: 22px;
  22. }
  23. #ajaxSearch_output {
  24. border: 1px solid #444;
  25. padding: 10px;
  26. background: #fff;
  27. display: block;
  28. height: auto;
  29. vertical-align: top;
  30. }
  31. .AS_ajax_result {
  32. color: #444;
  33. margin-bottom: 3px;
  34. }
  35. .AS_ajax_resultLink {
  36. text-decoration: underline;
  37. }
  38. .AS_ajax_resultDescription{
  39. color: #555;
  40. }
  41. .AS_ajax_more {
  42. color: #555;
  43. }
  44.  

Вставляем в шаблоне {{search}}и проверяем работоспособность

Поиск с отображением результатов в плавающем окне с использованием Ajax и поиском на лету:

Чуть позже в продолжении....

 

Последнее изменение документа: 04 Октябрь 2009
Showing comments 1 to 10 of 20 | Next | Last
blTb
Posts: 20
Comment
Djghjc
Reply #20 on : Чтв Октябрь 13, 2011, 15:31:50
"Введите ваш запрос для начала поиска."

Где можна убрать єтот текст?
ellesse
Posts: 20
Comment
Поиск по сайту , сниппет AjaxSearch
Reply #19 on : Чтв Октябрь 13, 2011, 14:49:53
2 найдено РїРѕ запросу «Dell». Показано: 2.
(Результаты 1 – 2 РёР· 2)

Dell

Dell 456

Как решить проблему с текстом?
pageSearch
Posts: 20
Comment
pageSearch
Reply #18 on : Птн Январь 14, 2011, 18:39:50
<div id="header-widget-area" class="widget-area" role="complementary">
<ul class="xoxo">
<li id="search-2" class="widget widget_search">

<form action="" id="searchform" method="get" role="search">

<div class="clearfix"><input type="text" id="s" name="s"><input type="submit" value="search" id="searchsubmit"></div>
</form>
</li></ul>
</div>

как сделать поиск по сайту это мой код
Alex
Posts: 20
Comment
Re: Поиск по сайту , сниппет AjaxSearch
Reply #17 on : Птн Январь 14, 2011, 18:38:42
Вот мой код , как сделать поиск по сайту?

<div id="header-widget-area" class="widget-area" role="complementary">
<ul class="xoxo">
<li id="search-2" class="widget widget_search">

<form action="" id="searchform" method="get" role="search">

<div class="clearfix"><input type="text" id="s" name="s"><input type="submit" value="search" id="searchsubmit"></div>
</form>
</li></ul>
</div>
Julliet
Posts: 20
Comment
Re: Поиск по сайту , сниппет AjaxSearch
Reply #16 on : Птн Январь 14, 2011, 14:15:37
"ID в ModX имеется ввиду "позиция в меню"?"

ID - это цифра, что рядом с именем документа в дереве документов в скобках указана... А позиция в меню - это позиция в меню.
kolek
Posts: 20
Comment
Проблема с ТV в AjaxSearch 1.9.1
Reply #15 on : Втр Декабрь 07, 2010, 15:05:48
Вот код моего result.tpl:

<div class="preview">
"><img scr="" width="150" height="150" /></a>
`+]
</div>
Kolek
Posts: 20
Comment
Проблема с ТV в AjaxSearch 1.9.1
Reply #14 on : Втр Декабрь 07, 2010, 15:02:42
Как сделать так, чтобы в результате поиска выводился только один TV-параметр?

<div class="">
" width="150" height="150" />
`+]
</div>

В итоге получается: <img scr="assets/images/tovar.jpg,2999" width="150" height="150" /> 2999 - быть не должно!

На место выводятся ВСЕ TV-параметры, а мне нужен только
imbamix
Posts: 20
Comment
Параметры
Reply #13 on : Вск Октябрь 31, 2010, 20:18:00
Можно ли вывести дополнительные параметры (фильтры) для поиска? К примеру возможность искать по датам или же только по словам или же ещё какие?
Julliet
Posts: 20
Comment
Re: Поиск по сайту , сниппет AjaxSearch
Reply #12 on : Пнд Август 23, 2010, 23:31:24
Может, имеет смысл указать, для какой версии MODx и сниппета в частности, данная статья политически верна? Я затр***ась честно, пока нашла, что ошибка у меня тупо в другой версии сниппета! kick - у Вас наверно тоже самое! Короче, всем у кого версия MODx 1.0.4 посвящается, ряд необходимых изменений при вызове сниппета:

AS_showForm => showInputForm
AS_landing => landingPage
AS_showResults => showResults
AS_search => search

Все, после такой насыщенной еб*и мозга можно и поспать!Всем удачи!
Julliet
Posts: 20
Comment
Бесполезная статья
Reply #11 on : Пнд Август 23, 2010, 23:10:36
Абсолютно. Кто не нашел тут полезной информации, советую написать в гугле ajaxsearch wiki.

НУ ПРАВДА БЕСТОЛКОВАЯ.

Хотя спасибо и на том.
Showing comments 1 to 10 of 20 | Next | Last

Write a comment

  • Required fields are marked with *.

If you have trouble reading the code, click on the code itself to generate a new random code.