Ajax поиск по форуму с помощью Google

Как установить поиск от Google на форум

Небольшие моды и хаки для форума phpBB3
Правила форума
При размещении мода/статьи взятой с другого форума/сайта обязательно необходимо указывать первоисточник сообщения.
 • Просмотры: 2418
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Ajax поиск по форуму с помощью Google

09 май 2011, 11:53

Для поисковой системы Google (http://www.google.ru/) существует виджет (http://www.google.com/webelements/#!/custom-search) который позволяет встроить поисковую форму на страницу своего сайта, производить поиск по сайту с помощью Google и отображать результаты поиска прямо на сайте.

1. Для работы виджета сначала необходимо получить API ключ для поиска, для этого идём по этой (требуется наличие аккаунта в Google) http://code.google.com/intl/ru-RU/apis/ ... ignup.html ссылке и внизу в поле My web site URL указываем URL своего сайта, нажимаем Generate API Key, на следующей странице после строки Your key is: отобразится API ключ, копируем это значение.
google.png
2. Скачиваем файл и загружаем его в директорию /images/

3. В файле /styles/prosilver/template/overall_header.html после

Код: Выделить всё

<script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>
добавить

Код: Выделить всё

<!-- PPK GS -->
<script src="https://www.google.com/jsapi?00000000000000000000000000000000000000000000000000000000000000"></script>
<script type="text/javascript">
google.load('search', '1');
google.setOnLoadCallback(function(){
	new google.search.CustomSearchControl().draw('cse');
}, true);
</script>
<!-- PPK GS -->
и вместо

Код: Выделить всё

00000000000000000000000000000000000000000000000000000000000000
необходимо вставить значение API ключа, которое мы скопировали в 1 пункте, далее, перед

Код: Выделить всё

		<div class="navbar">
			<div class="inner"><span class="corners-top"><span></span></span>
добавить

Код: Выделить всё

<!-- PPK GS --><div id="cse" style="width:100%;display:none;">Loading...</div><!-- PPK GS -->
после

Код: Выделить всё

<li class="rightside"><a href="#" onclick="fontsizeup(); return false;" onkeypress="return fontsizeup(event);" class="fontsize" title="{L_CHANGE_FONT_SIZE}">{L_CHANGE_FONT_SIZE}</a></li>
добавить

Код: Выделить всё

<!-- PPK GS --><li class="rightside"><a title="{L_GOOGLE_SEARCH}" href="javascript;" onclick="document.getElementById('cse').style.display='';"><img src="{ROOT_PATH}images/google.png" width="16" height="16" alt="Google search" /></a>&nbsp;</li><!-- PPK GS -->
в файле /styles/subsilver2/template/overall_header.html после

Код: Выделить всё

		obj.Play();
	}
<!-- ENDIF -->

// ]]>
</script>
добавить

Код: Выделить всё

<!-- PPK GS -->
<script src="https://www.google.com/jsapi?00000000000000000000000000000000000000000000000000000000000000"></script>
<script type="text/javascript">
google.load('search', '1');
google.setOnLoadCallback(function(){
	new google.search.CustomSearchControl().draw('cse');
}, true);
</script>
<!-- PPK GS -->
и вместо

Код: Выделить всё

00000000000000000000000000000000000000000000000000000000000000
необходимо вставить значение API ключа, которое мы скопировали в 1 пункте, далее, после

Код: Выделить всё

<!-- IF S_DISPLAY_SEARCH -->&nbsp; &nbsp;<a href="{U_SEARCH}"><img src="{T_THEME_PATH}/images/icon_mini_search.gif" width="12" height="13" alt="*" /> {L_SEARCH}</a><!-- ENDIF -->
добавить

Код: Выделить всё

<!-- PPK GS -->&nbsp;<a title="{L_GOOGLE_SEARCH}" href="javascript;" onclick="document.getElementById('cse').style.display='';"><img src="{ROOT_PATH}images/google.png" width="16" height="16" alt="Google search" /></a><!-- PPK GS -->
перед

Код: Выделить всё

	</div>

	<div id="datebar">
		<table width="100%" cellspacing="0">
добавить

Код: Выделить всё

<!-- PPK GS --><div id="cse" style="width:100%;display:none;">Loading...</div><!-- PPK GS -->
в файле /language/ru/common.php перед добавить

Код: Выделить всё

	//PPK GS
	'GOOGLE_SEARCH' => 'Поиск с помощью Google',
	//PPK GS
4. Обновляем стили, очищаем кеш.

Результат, иконка Google:

форма поиска:

результаты поиска, (т.к. скриншот делался с локального форума - результаты поиска пустые):


5. При отображении результатов поиска будет отображаться реклама от Google, если у вас есть аккаунт в Google AdSense - можно привязать свой аккаунт к форме поиска, тогда при отображении результатов будет показываться реклама от вашего аккаунта.

6. Естественно, что для появления результатов поиска, сайт должен быть проиндексирован в Google.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Il
Ilyich
Откуда: Киев
Благодарил (а): 3 раза
Поблагодарили: 1 раз
Сообщения: 8
Зарегистрирован: 02 авг 2011, 13:57
Сообщение

Ajax поиск по форуму с помощью Google

27 окт 2011, 04:10

А можно поинтересоваться тонкостью? Почему, согласно инструкции, после добавления этой команды в фал common.php
PPK писал(а):'GOOGLE_SEARCH' => 'Поиск с помощью Google',
наблюдается "чистый лист". Т.е. при попытке зайти на форум - абсолютно девственно чистая страница. Ни сообщений об ошибках, ничего... при просмотре html кода тоже - чистый экран. Я такого ни разу не видел.
Добавлял вот так:

Но, после того, как переместил на одну строку выше:

Работает нормально. Проверял несколько раз, что меняется, от от этой "перемены мест слагаемых" не могу взять в толк :unknown:

И еще, по поводу привязки аккаунта Google AdSense к своей форме поиска. Я так понимаю, что в Google AdSense нужно где то указать сгенерированный API Key? Никак не могу разобраться с этой привязкой. Параметры выдачи (шрифт/стиль/блоки) рекламы в нашей форме поиска тоже можно как-то настраивать?
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Ajax поиск по форуму с помощью Google

28 окт 2011, 17:32

1. там после последней строчки должна быть запятая

Код: Выделить всё

'default_dateformat'	=>'|d M Y|, H:i', // Сегодня, 13:37 / 01 Янв 2007, 13:37
2. настройки AdSense - Adsense для поиска, там вроде-бы понятно всё.. :oops:
Il
Ilyich
Откуда: Киев
Благодарил (а): 3 раза
Поблагодарили: 1 раз
Сообщения: 8
Зарегистрирован: 02 авг 2011, 13:57
Сообщение

Ajax поиск по форуму с помощью Google

02 ноя 2011, 09:14

В настройках adsense вроде бы как понятно, не знаю, что делать с кодом, который выдает adsense, для размещения поиска по сайту. Т.е. как это увязывается с Вашей инструкцией, как заставить гугл понять, что реклама на моем форуме увязана с моим аккаунтом адсенс.

Выдается следующий код:

Вставьте этот код на страницу, где должно появляться окно поиска.

Код: Выделить всё

<form action="http://bomond.tipsmarket.com.ua" id="cse-search-box">
  <div>
    <input type="hidden" name="cx" value="partner-pub-5628764771376014:wy8r6hz134i" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="UTF-8" />
    <input type="text" name="q" size="31" />
    <input type="submit" name="sa" value="&#x041f;&#x043e;&#x0438;&#x0441;&#x043a;" />
  </div>
</form>
<script type="text/javascript" src="//www.google.com.ua/cse/brand?form=cse-search-box&lang=ru"></script> 
Вставьте этот код на страницу сайта где должны появляться результаты поиска.

Код: Выделить всё

<div id="cse-search-results"></div>
<script type="text/javascript">
  var googleSearchIframeName = "cse-search-results";
  var googleSearchFormName = "cse-search-box";
  var googleSearchFrameWidth = 800;
  var googleSearchDomain = "www.google.com.ua";
  var googleSearchPath = "/cse";
</script>
<script type="text/javascript" src="//www.google.com/afsonline/show_afs_search.js"></script>
Может тупо заменить "0000000000000000000...." в строке

Код: Выделить всё

<script src="https://www.google.com/jsapi?00000000000000000000000000000000000000000000000000000000000000"></script>
на выданный адсенсом партнерский номер?
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Ajax поиск по форуму с помощью Google

03 ноя 2011, 10:35

в первом сообщении темы вместо кода

Код: Выделить всё

    <!-- PPK GS -->
    <script src="https://www.google.com/jsapi?00000000000000000000000000000000000000000000000000000000000000"></script>
    <script type="text/javascript">
    google.load('search', '1');
    google.setOnLoadCallback(function(){
       new google.search.CustomSearchControl().draw('cse');
    }, true);
    </script>
    <!-- PPK GS -->
использовать

Код: Выделить всё

<script type="text/javascript">
  var googleSearchIframeName = "cse-search-results";
  var googleSearchFormName = "cse-search-box";
  var googleSearchFrameWidth = 800;
  var googleSearchDomain = "www.google.com.ua";
  var googleSearchPath = "/cse";
</script>
<script type="text/javascript" src="//www.google.com/afsonline/show_afs_search.js"></script>
а вместо

Код: Выделить всё

<!-- PPK GS --><div id="cse" style="width:100%;display:none;">Loading...</div><!-- PPK GS -->
использовать

Код: Выделить всё

		<!-- PPK GS -->
		<div id="cse" style="width:100%;display:none;">
		<form action="http://bomond.tipsmarket.com.ua" id="cse-search-box">
		  <div>
			<input type="hidden" name="cx" value="partner-pub-5628764771376014:wy8r6hz134i" />
			<input type="hidden" name="cof" value="FORID:10" />
			<input type="hidden" name="ie" value="UTF-8" />
			<input type="text" name="q" size="31" />
			<input type="submit" name="sa" value="&#x041f;&#x043e;&#x0438;&#x0441;&#x043a;" />
		  </div>
		</form></div>
		<script type="text/javascript" src="//www.google.com.ua/cse/brand?form=cse-search-box&lang=ru"></script>
		<div id="cse-search-results"></div>
		<!-- PPK GS -->
vu
vulkan3
Благодарил (а): 45 раз
Поблагодарили: 36 раз
Сообщения: 1801
Зарегистрирован: 28 сен 2009, 03:36
Сообщение

Ajax поиск по форуму с помощью Google

18 мар 2012, 10:01

PPK писал(а):для этого идём по этой (требуется наличие аккаунта в Google) https://developers.google.com/loader/signup?hl=ru-RU ссылке и внизу в поле My web site URL указываем URL своего сайта, нажимаем Generate API Key,
перехожу по этой ссылке и не вижу где
My web site URL
вводить надо
Pritoc.org Свободный торрент трекер
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Ajax поиск по форуму с помощью Google

19 мар 2012, 10:11

Аватара пользователя
stepan83
Благодарил (а): 81 раз
Поблагодарили: 20 раз
Сообщения: 248
Зарегистрирован: 02 ноя 2011, 21:18
Сообщение

Ajax поиск по форуму с помощью Google

25 сен 2012, 22:50

PPK писал(а):необходимо вставить значение API ключа, которое мы скопировали в 1 пункте, далее, перед
API ключ уже не используеться для поиска гугл, да и сам код сильно изменился
Аватара пользователя
stepan83
Благодарил (а): 81 раз
Поблагодарили: 20 раз
Сообщения: 248
Зарегистрирован: 02 ноя 2011, 21:18
Сообщение

Ajax поиск по форуму с помощью Google

27 сен 2012, 20:40

поставил код из первого сообщения, API ключ взял с нового кода поиска

Вернуться в «Минимоды и хаки для phpBB3»