Поиск как на drupal.ru
Прислано: Oleg12345
вс, 29/03/2009 - 17:00
Скажите, а как реализовать поиск, как на drupal.ru?
То есть при нажатии на кнопку поиск появлялось новое окно с результатами, а страница с сайтом темнела.
- Oleg12345's blog
- Для комментирования войдите или зарегистрируйтесь
Это готовый javascript с google.com/search - там предлагается несколько вариантов вставки поиска на страницу и отображения результатов.
- Для комментирования войдите или зарегистрируйтесь
поподробней можно?
- Для комментирования войдите или зарегистрируйтесь
Ну, преположим, что не на google.com/search, а на http://code.google.com/intl/ru/apis/ajaxsearch/samples.html :)
К тому же там нет примера с выводом результатов в новом фрейме.
- Для комментирования войдите или зарегистрируйтесь
Googl не пробовал, а вот форму Яндекса поставил без проблем
http://site.yandex.ru/ - легко и быстро настраивается! Вот только как вывести в новом фрейме сайта, пока не разобрался. Сейчас резудьтаты поиска выводит на новой странице в окне сайта, что тоже не очень удобно.
Кто занет как вывести резудьтаты поиска во фрейме сайта?
- Для комментирования войдите или зарегистрируйтесь
Мне тоже понравилась реализация поиска на drupal.ru, и, учитывая что это всего лишь яваскрипт, честно его скопипастил к себе. Если никто не против, учитывая интерес к этой теме некоторых участников, хочу написать здесь о том, как я это сделал.
Если посмотреть исходный код главной страницы этого сайта, там можно увидеть такой фрагмент кода:
<form id="searchbox_000263937362789758988:cjkmtu9kh3o" onsubmit="return false;"> <input type="text" name="q" size="17" style="border: 1px solid gray;" /> <input type="submit" value=">" style="background-color:black;color:gray;border:1px solid gray;" /> </form> <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_000263937362789758988%3Acjkmtu9kh3o&lang=ru"></script> <div id="results_000263937362789758988:cjkmtu9kh3o" style="display:none; margin: 2em auto 0 auto; width: 600px;"> <div class="cse-closeResults"> <a>× Закрыть</a> </div> <div class="cse-resultsContainer"></div> </div> <style type="text/css"> @import url(<a href="http://www.google.com/cse/api/overlay.css" title="http://www.google.com/cse/api/overlay.css">http://www.google.com/cse/api/overlay.css</a>); </style> <script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=ABQIAAAABziLyYEKTWIfRRZgEYgzVxRAXzc5NcDjCY5pgOlLwlGrpHjDAhTDOPA-lboJuy2fYcu44XRLmjS6gg&hl=ru" type="text/javascript"></script> <script src="http://www.google.com/cse/api/overlay.js"></script> <script type="text/javascript"> function OnLoad() { new CSEOverlay("000263937362789758988:cjkmtu9kh3o", document.getElementById("searchbox_000263937362789758988:cjkmtu9kh3o"), document.getElementById("results_000263937362789758988:cjkmtu9kh3o")); } GSearch.setOnLoadCallback(OnLoad); </script>
Собственно, нужно скопировать этот код к себе на сайт, изменив два ключа:
ABQIAAAABziLyYEKTWIfRRZgEYgzVxRAXzc5NcDjCY5pgOlLwlGrpHjDAhTDOPA-lboJuy2fYcu44XRLmjS6gg - это google ajax api search key для сайта drupal.ru, соответственно надо сгенерировать свой ключ и вставить его;
000263937362789758988:cjkmtu9kh3o - тоже какой-то ключ, уже забыл где я его генерировал, тоже где-то в гугле. Он тоже индивидуален для каждого сайта. Если кто помнит что это такое, пусть запостит сюда ссылку где его можно сгенерировать.
Собственно, все. Вставляйте себе куда-нибудь в блок и пользуйтесь.
- Для комментирования войдите или зарегистрируйтесь
http://www.google.com/cse/manage/create - Здесь создается такой ключ (000263937362789758988:cjkmtu9kh3o)
также проканывает ключ вида partner-pub-0002639373627897:2a4bcw-sqbn что применяется в AdSense
- Для комментирования войдите или зарегистрируйтесь
Если бы еще разобраться как настроить положения отображения, так как после прикрутки на сайт www.ulita.com.ua без каких либо изменений, все как описано выше, всплывающее окно с результатами поиска отображается как попало в зависимости от того как развернешь окно браузера.
Может кто разобрался, помогите и мне.
- Для комментирования войдите или зарегистрируйтесь
т.е. в любой блок вставить код, не имеет особого значения, оно по классу привяжется к кнопке и полю ввода текста поиска?
- Для комментирования войдите или зарегистрируйтесь
а как с блоком стандартным поиска связать?=\
- Для комментирования войдите или зарегистрируйтесь
я скопировал код переправил айдишники и он у меня отдельно еще одним блоком появился)
- Для комментирования войдите или зарегистрируйтесь
http://groups.google.com/group/google-custom-search-creating-and-editing... вот оно=)
- Для комментирования войдите или зарегистрируйтесь
а как лучше всего создать блок для него или же в темплейт нужно его вставить?
я вот пробывал блок - нажимаеш и внизу аж фиг знает где оно появляеться ниже сайта)
- Для комментирования войдите или зарегистрируйтесь
вставил же в page.tpl.php серавно ужс=\
что не правильно может подскажите
<form id="searchbox_partner-pub-9040216569020138:72x9zu-e6bf" onsubmit="return false;">
<input type="text" name="q" size="17" style="border: 1px solid gray;" />
<input type="submit" value=">" style="background-color:black;color:gray;border:1px solid gray;" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_partner-pub-9040216569020138:72x9zu-e6bf&lang=ru"></script>
<div id="results_partner-pub-9040216569020138:72x9zu-e6bf" style="display:none; margin: 2em auto 0 auto; width: 600px;">
<div class="cse-closeResults"> <a>× Закрыть</a> </div>
<div class="cse-resultsContainer"></div>
</div>
<style type="text/css">
@import url(<a href="http://www.google.com/cse/api/overlay.css" title="http://www.google.com/cse/api/overlay.css">http://www.google.com/cse/api/overlay.css</a>);
</style>
<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=ABQIAAAArEIaYOQOVOdRfIJbc9DM8xTj2YAEWZ8yAY3Y81HbW5wfPqqctRS7t35lR_lTDKfOvaLAZxVMB11UHA&hl=ru" type="text/javascript"></script>
<script src="http://www.google.com/cse/api/overlay.js"></script>
<script type="text/javascript">
function OnLoad() {
new CSEOverlay("partner-pub-9040216569020138:72x9zu-e6bf",
document.getElementById("searchbox_partner-pub-9040216569020138:72x9zu-e6bf"),
document.getElementById("results_partner-pub-9040216569020138:72x9zu-e6bf"));
}
GSearch.setOnLoadCallback(OnLoad);
</script>- Для комментирования войдите или зарегистрируйтесь
Вопрос актуален.
«Скажите, а как реализовать поиск, как на drupal.ru?»
Так и не нашел ответа. Кто может подскажите.
- Для комментирования войдите или зарегистрируйтесь
Подскажите!
- Для комментирования войдите или зарегистрируйтесь









Комментарии