Как сделать простейший поиск по сайту с помощью Google Печать
Добавил(а) microsin   

Если ваш сайт проиндексирован Google (см. [1, 2], то можно применить на сайте простейший способ поиска, используя 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=");
?>

< /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 и затем подставлять свои заголовок и подвал. Кроме того, нужно правильно форматировать и выводить многостраничные результаты поиска.

[Ссылки]

1. Использование поисковой машины Google.
2. Регистрация Вашего сайта в поисковых каталогах.