From 8824744577e710d0e06ac49623618d8796af2e95 Mon Sep 17 00:00:00 2001 From: Lyon3 Team Date: Thu, 11 Oct 2012 16:12:48 +0200 Subject: [PATCH] OPACNoResult, Add keyword to query string When search failed, this patch gets the keyword(s) and add them to the string entered by the user to OPACNoResultFound --- .../prog/en/modules/admin/preferences/opac.pref | 1 + opac/opac-search.pl | 10 ++++++++++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index e645785..641bd16 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -239,6 +239,7 @@ OPAC: - a library select pulldown menu on the OPAC masthead. - - 'Display this HTML when no results are found for a search in the OPAC:' + - '
Note: You can insert placeholders {QUERY_KW} that will be replaced with the keywords of the query.' - pref: OPACNoResultsFound type: textarea class: code diff --git a/opac/opac-search.pl b/opac/opac-search.pl index 7677d86..6948074 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -762,6 +762,16 @@ for (my $i=0;$i<@servers;$i++) { } # no hits else { + my $nohits = C4::Context->preference('OPACNoResultsFound'); + if ($nohits and $nohits=~/{QUERY_KW}/){ + # extracting keywords in case of relaunching search + (my $query_kw=$query_desc)=~s/ and|or / /g; + $query_kw = Encode::decode_utf8($query_kw); + my @query_kw=($query_kw=~ /([-\w]+\b)(?:[^,:]|$)/g); + $query_kw=join('+',@query_kw); + $nohits=~s/{QUERY_KW}/$query_kw/g; + $template->param('OPACNoResultsFound' =>$nohits); + } $template->param( searchdesc => 1, query_desc => $query_desc, -- 1.7.2.5