Если ваш сайт проиндексирован 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 со следующим содержимым:
Код здесь простейший, просто для демонстрации метода. Хорошим решением будет добавить оформление - заголовок (до блока < ?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. Регистрация Вашего сайта в поисковых каталогах. |
Комментарии
microsin: можно, конечно - обработайте результат выдачи поиска Google на любом языке, например PHP, и отформатируйте, как Вам нравится, наложите CSS стили своего сайта, и залейте в свой шаблон.
RSS лента комментариев этой записи