@@ -, +, @@
wrong content type
- Click the RSS link and confirm that the browser displays a feed with
no errors. In Chrome the feed should display a "document tree" view.
- Using the browser's developer console, verify that the content-type of
the document is defined as "text/xml."
- Validate the resulting feed at https://validator.w3.org/feed/ and
confirm that it is valid.
- RSS is served with content-type text/html
- The link from the RSS icon ona search page looks like
opac-search.pl?idx=kw&q=perl&count=50&sort_by=acqdate_dsc&format=rss2
- RSS is served as text/xml
- The RSS link leads to
opac-search.pl?idx=kw&q=perl&count=50&sort_by=acqdate_dsc&format=rss
But the old link with format=rss2 still works
---
.../bootstrap/en/modules/opac-opensearch.tt | 49 ++--------------------
.../opac-tmpl/bootstrap/en/modules/opac-results.tt | 6 +--
opac/opac-search.pl | 15 ++++---
3 files changed, 13 insertions(+), 57 deletions(-)
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-opensearch.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-opensearch.tt
@@ -7,20 +7,19 @@
[% IF ( searchdesc ) %] - No results found for that in [% LibraryName %] catalog.
[% END # / IF searchdesc %] --- a/opac/opac-search.pl +++ a/opac/opac-search.pl @@ -89,8 +89,11 @@ my @params = $cgi->param("limit"); my @searchCategories = $cgi->param('searchcat'); my $format = $cgi->param("format") || ''; +# Accept "rss" or the older "rss2" parameter +$format = 'rss' if $format =~ /rss/; + my $build_grouped_results = C4::Context->preference('OPACGroupResults'); -if ($format =~ /(rss|atom|opensearchdescription)/) { +if ($format =~ /(rss|opensearchdescription)/) { $template_name = 'opac-opensearch.tt'; } elsif (@params && $build_grouped_results) { @@ -126,11 +129,8 @@ if($cgi->cookie("bib_list")){ @cart_list = split(/\//, $cart_list); } -if ($format eq 'rss2' or $format eq 'opensearchdescription' or $format eq 'atom') { +if ($format eq 'rss' or $format eq 'opensearchdescription' ) { $template->param($format => 1); - $template->param(timestamp => strftime("%Y-%m-%dT%H:%M:%S-00:00", gmtime)) if ($format eq 'atom'); - # FIXME - the timestamp is a hack - the biblio update timestamp should be used for each - # entry, but not sure if that's worth an extra database query for each bib } if (C4::Context->preference("marcflavour") eq "UNIMARC" ) { $template->param('UNIMARC' => 1); @@ -736,8 +736,7 @@ for (my $i=0;$i<@servers;$i++) { } ## If there's just one result, redirect to the detail page - if ($total == 1 && $format ne 'rss2' - && $format ne 'opensearchdescription' && $format ne 'atom') { + if ($total == 1 && $format ne 'rss' && $format ne 'opensearchdescription' ) { my $biblionumber=$newresults[0]->{biblionumber}; if (C4::Context->preference('BiblioDefaultView') eq 'isbd') { print $cgi->redirect("/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=$biblionumber"); @@ -970,7 +969,7 @@ $template->param( add_to_some_public_shelves => $some_public_shelves, ); -my $content_type = ($format eq 'rss' or $format eq 'atom') ? $format : 'html'; +my $content_type = ( $format eq 'rss' ) ? $format : 'html'; # If GoogleIndicTransliteration system preference is On Set parameter to load Google's javascript in OPAC search screens if (C4::Context->preference('GoogleIndicTransliteration')) { -- + No results found for that in [% LibraryName %] catalog. [% ELSE %] You did not specify any search criteria. [% END %] @@ -85,7 +85,7 @@ [% END %] ). [% END %] - + [% END # / IF total %]