From: Josh Stompro Date: Tue, 23 Jun 2020 20:42:28 +0000 (-0500) Subject: Show series info up front in record X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fstompro%2Fseries_prominent_display;p=working%2FEvergreen.git Show series info up front in record Show series info right after author in a condensed format in record screen. Signed-off-by: Josh Stompro --- diff --git a/Open-ILS/src/templates/opac/parts/record/series-brief.tt2 b/Open-ILS/src/templates/opac/parts/record/series-brief.tt2 new file mode 100644 index 0000000000..06797ae67f --- /dev/null +++ b/Open-ILS/src/templates/opac/parts/record/series-brief.tt2 @@ -0,0 +1,59 @@ +[%- + series_tags = ['440', '490', '800', '810', '811', '830', '694']; + loc = ctx.search_ou; + +BLOCK render_series; + results = []; +# IF attrs.hl_display_fields.series_title.size; +# hl_field = attrs.hl_field; +# FOREACH s IN attrs.hl_display_fields.series_title; +# search_term = s.value.replace('[#"^$\+\-,\.:;&|\[\]()]', ' ').replace('\s+$', '') | html; +# +# url = mkurl(ctx.opac_root _ '/results', +# { qtype=>'series', query=>search_term }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms) +# ); +# series = '' _ s.$hl_field _ ' '; +# results.push(series); +# END; +# ELSE; + FOR tag IN series_tags; + FOR node IN ctx.marc_xml.findnodes('//*[@tag="' _ tag _ '"]'); + all_terms = []; + graphics = []; + series = ''; + FOR subfield IN node.childNodes; + NEXT UNLESS subfield.nodeName == "subfield"; + code = subfield.getAttribute('code'); + IF code == '6'; + linked_fields = [subfield.textContent()]; + target_field = node.getAttribute('tag'); + get_linked_880s; + END; + NEXT UNLESS code.match('[a-z]'); + # at this point, we actually have a partial term to use. + single_term = subfield.textContent | html; + all_terms.push(subfield.textContent.replace('[#"^$\+\-,\.:;&|\[\]()]', ' ')); + total_term = all_terms.join(" ").replace('\s+$', ''); + + url = mkurl(ctx.opac_root _ '/results', + { qtype=>'series', query=>total_term }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms) + ); + series = series _ '' _ single_term _ ' '; + END; + FOREACH link880 IN graphics; + link = link880.value | html; + series = series _ '
' _ link _ '
'; + END; + results.push(series); + END; + END; + # END; + entries = results.join(" -- "); + -%] +[%- entries -%] +[%- END %] + +[%- series_anchors = PROCESS render_series; + IF series_anchors.length > 0; %] +
Series: [% series_anchors %]
+[%- END %] diff --git a/Open-ILS/src/templates/opac/parts/record/summary.tt2 b/Open-ILS/src/templates/opac/parts/record/summary.tt2 index fb6f84a1e8..081a995b35 100644 --- a/Open-ILS/src/templates/opac/parts/record/summary.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/summary.tt2 @@ -24,6 +24,7 @@ END; -%] [%- INCLUDE "opac/parts/record/authors.tt2" %] + [%- INCLUDE "opac/parts/record/series-brief.tt2" %]
[%- IF obalkyknih_cz.enabled == 'true' %]