Функции, вызываемые разработчиком страницы результатов
h2>7.3.6. Примеры использования Perl
В данном разделе приведены простейшие примеры использования описанных выше функций на языке Perl. Реальные работающие примеры можно найти в файле report.phtml, включенном в комплект поставки программы.
sub UserInitsub UserInit { Yx::SetSearchParam("ReportCoding", "KOI8-R"); # Каталог, содержащий картинки $::PICTURE_DIR = Yx::ImagesUrl(); # количество документов в списке найденного $::DEF_NUM_DOC = 10; # количество отображаемых для каждого документа контекстов $::DEF_NUM_PASSAGES = 3; # Включить в форму поиск похожих документов $::USE_SIMILAR_DOCS_SEARCH = 1; }
sub UserHttpHeaderssub UserHttpHeaders { Yx::ContentType ("text/html; charset=".Yx::Charset()); Yx::HeaderOut("Cache-Control", "max-age=3600"); Yx::SetLastModified(); }
sub UserRequestsub UserRequest { my $text = Yx::FormField("text"); return "" if $text eq ""; my $req = $text; # поиск документов, измененных за последние N дней, # где N определяется cgi-параметором within my $within = Yx::FormField("within"); if ($within != 0) { my $beg_time = time() - ($within * 3600 * 24); my ($sec,$min,$hour,$mday,$mon,$year) = localtime($beg_time); $req .= "&&#date>=".sprintf("\"%04d%02d%02d\"", $year+1900, $mon+1, $mday); } return $req; }
sub UserReportПерловый модуль, используемый для настройки поисковой выдачи, представляет собой HTML-файл с участками кода на Perl 5, заключенными между разделителями <% и %>: <% sub UserReport { %> <html><head><title>Список найденных документов</title></head> <body><p> <% my $stat = Yx::WordStat(); if ($stat ne "") { print "Результат поиска: $stat<br>\n"; print "Найдено документов: <b>".Yx::TotalDocCount()."</b>\n"; } %> </body></html> <%}%>
Copyright © 1997 ? 2004 «Яндекс»Назад | Содержание | Вперед |
Метапоиск и его настройка | Уровень выше | Язык запросов Яndex.Server 3.1 |
|
|
Copyright © 1997?2004 «Яндекс» | Обратная связь |