Главная arrow Программирование arrow HTML arrow Как сделать простейший поиск по сайту с помощью Google Tuesday, May 30 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

Как сделать простейший поиск по сайту с помощью Google Версия для печати
Написал microsin   
24.07.2006

Если ваш сайт проиндексирован Google (см. как использовать поиск по сайту от Google и как проиндексировать сайт поисковой машиной Google), то можно применить на сайте простейший способ поиска, используя Google. Процесс по шагам:

1. Добавьте форму на страницу, где должен быть поиск по сайту. Форма должна содержать поле ввода и кнопку “Поиск”. Делается это добавлением следующего текста в HTML-код страницы (форматирование и прочие атрибуты опускаю):
<FORM ACTION="findbygoogle.php" METHOD="POST">
   <INPUT type=text name=”WhatFind”>
   <INPUT type=submit value="Поиск">
</FORM>

Теперь подробнее по этому коду.
ACTION="findbygoogle.php" задает прямую ссылку, по которой передается управление, когда пользователь нажмет кнопку на форме. Здесь указано, что сервер покажет пользователю страницу, которую будет генерировать PHP-код файла findbygoogle.php (если вы предпочитаете perl, CGI или другую технологию генерации страниц, можете применить её). Файл findbygoogle.php должен находиться в том же каталоге, что и html-страничка, в которую вы добавили код формы.
METHOD="POST" задает метод передачи значения переменной сценарию findbygoogle.php. Вместо POST возможен также вариант GET, разница в том, что GET отобразит в строке браузера значение переменной WhatFind, а POST - нет.
name=”WhatFind” задает имя переменной, которая будет доступна в файле findbygoogle.php. Её содержимое будет использоваться для построения запроса к Google на поиск.

2. Создаем файл findbygoogle.php со следующим содержимым:
<html>
<head>
  <title></title>
</head>

<body>
<?php
include ("http://www.google.ru/search?hl=ru&q=$WhatFind+site%3Amicrosin.ru&lr=");
?>
</body>
</html>

Код здесь простейший, просто для демонстрации метода. Хорошим решением будет добавить оформление - заголовок (до блока <?php) и подвал страницы сайта (после блока <?php). При выполнении этого файла генерируется запрос к Google, содержащий значение переменной WhatFind (то, что пользователь ввел в строке формы). Доменное имя microsin.ru нужно заменить на доменное имя Вашего сайта. Файл findbygoogle.php нужно поместить в тот же каталог сайта, где находится html-файл с формой поиска. Нужно также проверить права на файл findbygoogle.php - они должны быть равны 755.

Как это делается в NetObjects Fusion 7.5:

1. Открываем страничку, куда будем вставлять форму поиска.

2. Добавляем на страницу Form Area, нажав на соответствующую кнопку тулбара Standard Tools. На запрос о типе формы я выбрал первый вариант - Create position-based form (Layout Region). Размещаем форму на странице в нужном месте, меняем её размеры, рассчитывая на то, что в ней будет поле ввода и кнопка.

3. С помощью открывшегося дополнительного окошка Form Tools добавляем в форму одно Forms Edit Field (поле ввода) и кнопку Forms Button.

4. Открываем свойства Forms Edit Field, в поле Name меняем текст на WhatFind (так мы даем имя переменной, куда будет передаваться введенный пользователем текст).

5. Открываем свойства кнопки, в поле Text меняем текст на Поиск (это будет написано на кнопке).

6. Создаем файл findbygoogle.php, записываем его в папку Assets сайта. Я поместил этот файл в папку C:\NetObjects Fusion 7.5\User Sites\microsin\Assets\phpscripts\.

7. Выбираем в меню Go\Assets. Правой кнопкой создаем New File Asset, Name указываем произвольно (я набрал findbygoogle), кнопкой Browse выбираем наш файл findbygoogle.php, записанный в папку Assets сайта. Ставим галочку Always publish file.

8. Выбираем форму, на которой расположены поле ввода и кнопка для поиска. В её свойствах (окно со свойствами формы будет иметь название Layout Region Properties) на закладке General жмем кнопку Settings..., в поле Action жмем кнопку Browse и выбираем все тот же файл findbygoogle.php, записанный в папку Assets сайта (Files of type предварительно надо поставить в All Files (*.*), иначе файла с расширением .php мы не увидим). Method выбираем Post.

9. Выбираем Publish Site\Selected Page Only\Publish. В результате на сайте в папке cgi-bin должен появиться файл findbygoogle.php, и сайт должен нормально заработать вместе с поиском - после ввода чего искать и нажатия на кнопку Поиск должна открываться страница сайта Google с результатами поиска по Вашему сайту.

Это в общих чертах все. Здесь опущены детали реализации, которые нужно будет постепенно добавлять и отлаживать. Например, нужно фильтровать “битые” ссылки, которые могут указывать на уже несуществующие страницы Вашего сайта, нужно подменять в содержимом переменной $WhatFind пробелы и кавычки на их коды, ну и если Вы решили выводить не саму страничку Google, а только результаты поиска, то нужно правильно удалять заголовок и подвал страницы Google и затем подставлять свои заголовок и подвал. Кроме того, нужно правильно форматировать и выводить многостраничные результаты поиска.

Последнее обновление ( 16.12.2008 )
 

Комментарии  

  1. #1 Дмитрий
    2010-10-2123:23:29 А можно так же только свою страницу, а не гугловскую?

    microsin: можно, конечно - обработайте результат выдачи поиска Google на любом языке, например PHP, и отформатируйте, как Вам нравится, наложите CSS стили своего сайта, и залейте в свой шаблон.

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017