[Koha-patches] [PATCH] Bug 15434: search-xlate.inc - search criteria definition table
Srdjan
srdjan at catalyst.net.nz
Tue Dec 29 07:58:58 CET 2015
Collected search criteria and limit labels in search-xlate.inc, so it
can be used gor both making search criteria selects and displaying back
selections on the result screen.
---
.../opac-tmpl/bootstrap/en/includes/masthead.inc | 29 ++++++-----
.../bootstrap/en/includes/search-xlate.inc | 43 ++++++++++++++++
.../bootstrap/en/modules/opac-advsearch.tt | 59 +++++++++++-----------
.../opac-tmpl/bootstrap/en/modules/opac-results.tt | 48 ++++++++++++++----
4 files changed, 125 insertions(+), 54 deletions(-)
create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/includes/search-xlate.inc
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
index 20ff3f8..3e7017e 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
@@ -1,4 +1,5 @@
[% USE Koha %]
+[% PROCESS 'search-xlate.inc' %]
[% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
<div id="wrap">
<div id="header-region" class="noprint">
@@ -168,41 +169,41 @@
<option value="">Library catalog</option>
[% END # /ms_kw %]
[% IF ( ms_ti ) %]
- <option selected="selected" value="ti">Title</option>
+ <option selected="selected" value="ti">[% search_xlate.item("ti") %]</option>
[% ELSE %]
- <option value="ti">Title</option>
+ <option value="ti">[% search_xlate.item("ti") %]</option>
[% END # /ms_ti %]
[% IF ( ms_au ) %]
- <option selected="selected" value="au">Author</option>
+ <option selected="selected" value="au">[% search_xlate.item("au") %]</option>
[% ELSE %]
- <option value="au">Author</option>
+ <option value="au">[% search_xlate.item("au") %]</option>
[% END # /ms_au%]
[% IF ( ms_su ) %]
- <option selected="selected" value="su">Subject</option>
+ <option selected="selected" value="su">[% search_xlate.item("su") %]</option>
[% ELSE %]
- <option value="su">Subject</option>
+ <option value="su">[% search_xlate.item("su") %]</option>
[% END # /ms_su %]
[% IF ( ms_nb ) %]
- <option selected="selected" value="nb">ISBN</option>
+ <option selected="selected" value="nb">[% search_xlate.item("nb") %]</option>
[% ELSE %]
- <option value="nb">ISBN</option>
+ <option value="nb">[% search_xlate.item("nb") %]</option>
[% END # /ms_nb%]
[% IF ( ms_se ) %]
- <option selected="selected" value="se">Series</option>
+ <option selected="selected" value="se">[% search_xlate.item("se") %]</option>
[% ELSE %]
- <option value="se">Series</option>
+ <option value="se">[% search_xlate.item("se") %]</option>
[% END # /ms_se %]
[% IF ( numbersphr ) %]
[% IF ( ms_callnum ) %]
- <option selected="selected" value="callnum,phr">Call number</option>
+ <option selected="selected" value="callnum,phr">[% search_xlate.item("callnum") %]</option>
[% ELSE %]
- <option value="callnum,phr">Call number</option>
+ <option value="callnum,phr">[% search_xlate.item("callnum") %]</option>
[% END #/ms_callnum %]
[% ELSE %]
[% IF ( ms_callnum ) %]
- <option selected="selected" value="callnum">Call number</option>
+ <option selected="selected" value="callnum">[% search_xlate.item("callnum") %]</option>
[% ELSE %]
- <option value="callnum">Call number</option>
+ <option value="callnum">[% search_xlate.item("callnum") %]</option>
[% END # /ms_callnum %]
[% END # /numbersphr %]
</select>
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/search-xlate.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/search-xlate.inc
new file mode 100644
index 0000000..db0b941
--- /dev/null
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/search-xlate.inc
@@ -0,0 +1,43 @@
+[%
+ search_xlate = {
+ "kw" => "Keyword"
+ "su" => "Subject"
+ "su-br" => "Subject and broader terms"
+ "su-na" => "Subject and narrower terms"
+ "su-rl" => "Subject and related terms"
+ "ti" => "Title"
+ "se" => "Series"
+ "se,wrdl" => "Series title"
+ "callnum" => "Call Number"
+ "location" => "Shelving Location"
+ "au" => "Author"
+ "cpn" => "Corporate name"
+ "cfn" => "Conference name"
+ "pn" => "Personal name"
+ "nt" => "Notes/Comments"
+ "curriculum" => "Curriculum"
+ "pb" => "Publisher"
+ "pl" => "Publisher Location"
+ "sn" => "Standard Number"
+ "nb" => "ISBN"
+ "ns" => "ISSN"
+ "bc" => "Barcode"
+ }
+ limit_xlate = {
+ "mc-itype" => "Type"
+ "ln" => "Language"
+ "branch" => "Branch"
+ "aud" => "Audience"
+ "l-format" => "Format"
+ "ctype" => "Content Type"
+ "yr" => "Year"
+ }
+ qualifier_xlate = {
+ "wrdl" => ""
+ "phr" => "phrase"
+ "st-numeric" => ""
+ "ge=" => ">="
+ "le=" => "<="
+ "rtrn" => ""
+ }
+%]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt
index d1ce16a..2c35c3a 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt
@@ -1,4 +1,5 @@
[% USE Koha %]
+[% PROCESS 'search-xlate.inc' %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Advanced search</title>
[% INCLUDE 'doc-head-close.inc' %]
@@ -41,54 +42,54 @@
[% END %]
[% IF ( expanded_options ) %][% left_content %][% END %]
<select name="idx" id="search-field_[% loop.index %]">
- <option value="kw">Keyword</option>
- <option value="su,wrdl">Subject</option>
+ <option value="kw">[% search_xlate.item("kw") %]</option>
+ <option value="su,wrdl">[% search_xlate.item("su") %]</option>
[% IF ( expanded_options ) %]
- <option value="su,phr"> Subject phrase</option>
- <option value="su-br"> Subject and broader terms</option>
- <option value="su-na"> Subject and narrower terms</option>
- <option value="su-rl"> Subject and related terms</option>
+ <option value="su,phr"> [% search_xlate.item("su") %] [% qualifier_xlate.item("phr") %]</option>
+ <option value="su-br"> [% search_xlate.item("su-br") %]</option>
+ <option value="su-na"> [% search_xlate.item("su-na") %]</option>
+ <option value="su-rl"> [% search_xlate.item("su-rl") %]</option>
[% END %]
- <option value="ti">Title</option>
+ <option value="ti">[% search_xlate.item("ti") %]</option>
[% IF ( expanded_options ) %]
- <option value="ti,phr"> Title phrase</option>
- <option value="se,wrdl">Series title</option>
+ <option value="ti,phr"> [% search_xlate.item("ti") %] [% qualifier_xlate.item("phr") %]</option>
+ <option value="se,wrdl">[% search_xlate.item("se,wrdl") %]</option>
[% IF ( numbersphr) %]
- <option value="callnum,phr">Call number</option>
+ <option value="callnum,phr">[% search_xlate.item("callnum") %]</option>
[% ELSE %]
- <option value="callnum">Call number</option>
+ <option value="callnum">[% search_xlate.item("callnum") %]</option>
[% END %]
- <option value="location">Shelving location</option>
+ <option value="location">[% search_xlate.item("location") %]</option>
[% END %]
- <option value="au,wrdl">Author</option>
+ <option value="au,wrdl">[% search_xlate.item("au") %]</option>
[% IF ( expanded_options ) %]
- <option value="au,phr"> Author phrase</option>
- <option value="cpn,wrdl"> Corporate name</option>
- <option value="cfn,wrdl"> Conference name</option>
- <option value="cfn,phr"> Conference name phrase</option>
- <option value="pn,wrdl"> Personal name</option>
- <option value="pn,phr"> Personal name phrase</option>
+ <option value="au,phr"> [% search_xlate.item("au") %] [% qualifier_xlate.item("phr") %]</option>
+ <option value="cpn,wrdl"> [% search_xlate.item("cpn") %]</option>
+ <option value="cfn,wrdl"> [% search_xlate.item("cfn") %]</option>
+ <option value="cfn,phr"> [% search_xlate.item("cfn") %] [% qualifier_xlate.item("phr") %]</option>
+ <option value="pn,wrdl"> [% search_xlate.item("pn") %]</option>
+ <option value="pn,phr"> [% search_xlate.item("pn") %] [% qualifier_xlate.item("phr") %]</option>
[% END %]
[% IF ( expanded_options ) %]
- <option value="nt">Notes/Comments</option>
+ <option value="nt">[% search_xlate.item("nt") %]</option>
[% IF (marcflavour != 'UNIMARC') %]
- <option value="curriculum">Curriculum</option>
+ <option value="curriculum">[% search_xlate.item("curriculum") %]</option>
[% END %]
[% END %]
- <option value="pb,wrdl">Publisher</option>
- <option value="pl,wrdl">Publisher location</option>
+ <option value="pb,wrdl">[% search_xlate.item("pb") %]</option>
+ <option value="pl,wrdl">[% search_xlate.item("pl") %]</option>
[% IF ( expanded_options ) %]
[% IF ( numbersphr) %]
- <option value="sn,phr">Standard number</option>
+ <option value="sn,phr">[% search_xlate.item("sn") %]</option>
[% ELSE %]
- <option value="sn">Standard number</option>
+ <option value="sn">[% search_xlate.item("sn") %]</option>
[% END %]
- <option value="nb"> ISBN</option>
- <option value="ns"> ISSN</option>
+ <option value="nb"> [% search_xlate.item("nb") %]</option>
+ <option value="ns"> [% search_xlate.item("ns") %]</option>
[% ELSE %]
- <option value="nb">ISBN</option>
+ <option value="nb">[% search_xlate.item("nb") %]</option>
[% END %]
- <option value="bc">Barcode</option>
+ <option value="bc">[% search_xlate.item("bc") %]</option>
</select>
<input type="text" size="30" name="q" title="Enter search terms" value="" />
[% IF ( expanded_options ) %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt
index 8a0ec89..4ee19ca 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt
@@ -1,14 +1,44 @@
[% USE Koha %]
+[% PROCESS 'search-xlate.inc' %]
[% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsShowOnList ) %]
[% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsInputOnList ) %]
+[%
+IF searchdesc;
+ search_result_str = "Results of search";
+ IF query_desc;
+ search_result_str = search_result_str _ " for '";
+ query_desc_xlate = query_desc;
+ FOREACH pair IN search_xlate.pairs;
+ query_desc_xlate = query_desc_xlate.replace(pair.key _ ':', pair.value _ ':');
+ query_desc_xlate = query_desc_xlate.replace(pair.key _ ',wrdl:', pair.value _ ':');
+ query_desc_xlate = query_desc_xlate.replace(pair.key _ ',phr:', pair.value _ ' ' _ qualifier_xlate.phr _ ':');
+ END;
+ search_result_str = search_result_str _ query_desc_xlate _ "'";
+ END;
+ IF limit_desc;
+ search_result_str = search_result_str _ " with limit(s): '";
+ limit_desc_xlate = limit_desc;
+ FOREACH pair IN limit_xlate.pairs;
+ limit_desc_xlate = limit_desc_xlate.replace(pair.key _ ':', pair.value _ ':');
+ limit_desc_xlate = limit_desc_xlate.replace(pair.key _ ',', pair.value _ ',');
+ END;
+ FOREACH pair IN qualifier_xlate.pairs;
+ IF pair.value;
+ replacement_str = ' ' _ pair.value;
+ ELSE;
+ replacement_str = '';
+ END;
+ limit_desc_xlate = limit_desc_xlate.replace(',' _ pair.key, replacement_str);
+ END;
+ search_result_str = search_result_str _ limit_desc_xlate _ "'";
+ END;
+ELSE;
+ search_result_str = "You did not specify any search criteria.";
+END;
+%]
[% INCLUDE 'doc-head-open.inc' %]
-<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog ›
-[% IF ( searchdesc ) %]
- Results of search [% IF ( query_desc ) %]for '[% query_desc | html%]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %]
-[% ELSE %]
- You did not specify any search criteria.
-[% END %]</title>
+<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › [% search_result_str | html %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% IF ( OpacStarRatings == 'all' || Koha.Preference('Babeltheque') ) %]
[% BLOCK cssinclude %]
@@ -26,11 +56,7 @@
<ul class="breadcrumb">
<li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">›</span></li>
<li>
- [% IF ( searchdesc ) %]
- <a href="#">Results of search [% IF ( query_desc ) %]for '[% query_desc | html%]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %]</a>
- [% ELSE %]
- <a href="#">You did not specify any search criteria</a>
- [% END %]
+ <a href="#">[% search_result_str | html %]</a>
</li>
</ul>
--
1.9.1
More information about the Koha-patches
mailing list