From 746bd773decdc1d146122a0485a7ebb689401176 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 20 Oct 2014 12:12:00 -0300 Subject: [PATCH] [SIGNED-OFF] Bug 13088: Allow the user to specify a max amount of facets to show Content-Type: text/plain; charset="utf-8" This patch makes _get_facet_from_result_set rely on a new syspref (FacetsMaxCount) to set the max facets to show for each facet category. It defaults to 20 if the syspref is absent or empty. To test: - Have a search with lots of facet results (with some category showing the "See more" link). - Jump to "See more", notice it shows more than 20 facet values. - Apply the patch, reload the page. => SUCCESS It only shows 20 (default hardcoded value) - Change the FacetsMaxCount syspref to other value (e.g. 15 or 100). - Reload => SUCCESS: it shows the expected amount. - Sign off :-D Regards Sponsored-by: Universidad Nacional de Cordoba Signed-off-by: Owen Leonard Test plan completed successfully --- C4/Search.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/C4/Search.pm b/C4/Search.pm index d46b0c5..9995ea3 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -788,11 +788,12 @@ sub _get_facet_from_result_set { my $rs = shift; my $sep = shift; - my $internal_sep = '<*>'; + my $internal_sep = '<*>'; + my $facetMaxCount = C4::Context->preference('FacetMaxCount') // 20; return if ( ! defined $facet_idx || ! defined $rs ); # zebra's facet element, untokenized index - my $facet_element = 'zebra::facet::' . $facet_idx . ':0:100'; + my $facet_element = 'zebra::facet::' . $facet_idx . ':0:' . $facetMaxCount; # configure zebra results for retrieving the desired facet $rs->option( elementSetName => $facet_element ); # get the facet record from result set -- 1.7.9.5