From 468d3d9c83a9760e796cdf43c7da2766ccf7c9b9 Mon Sep 17 00:00:00 2001 From: Julian FIOL Date: Mon, 6 Jul 2015 12:27:08 +0200 Subject: [PATCH] Bug 14496: Improving opac-detail.pl performances Get notes and subjects from MARC record ONLY when XSLT is not activated. It's useless doing it when XSLT is activated, because XSLT takes care of it by its own. => With this patch, we are saving precious milliseconds I compared the display of some records in XSLT view with and without patch, was the same (as expected). Signed-off-by: Marc Veron Signed-off-by: Marcel de Rooy On a slower server, I saw a time save of 0.0274 to 0.0908 seconds (with XSLT). Signed-off-by: Tomas Cohen Arazi --- opac/opac-detail.pl | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index bc9b3232a8..0fa588f03e 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -703,24 +703,29 @@ if (scalar(@itemloop) == 0 || scalar(@otheritemloop) == 0) { } ## get notes and subjects from MARC record -my $dbh = C4::Context->dbh; +if (!C4::Context->preference("OPACXSLTDetailsDisplay") ) { + my $marcisbnsarray = GetMarcISBN ($record,$marcflavour); + my $marcauthorsarray = GetMarcAuthors ($record,$marcflavour); + my $marcsubjctsarray = GetMarcSubjects($record,$marcflavour); + my $marcseriesarray = GetMarcSeries ($record,$marcflavour); + my $marcurlsarray = GetMarcUrls ($record,$marcflavour); + my $marchostsarray = GetMarcHosts($record,$marcflavour); + + $template->param( + MARCSUBJCTS => $marcsubjctsarray, + MARCAUTHORS => $marcauthorsarray, + MARCSERIES => $marcseriesarray, + MARCURLS => $marcurlsarray, + MARCISBNS => $marcisbnsarray, + MARCHOSTS => $marchostsarray, + ); +} + my $marcnotesarray = GetMarcNotes ($record,$marcflavour); -my $marcisbnsarray = GetMarcISBN ($record,$marcflavour); -my $marcauthorsarray = GetMarcAuthors ($record,$marcflavour); -my $marcsubjctsarray = GetMarcSubjects($record,$marcflavour); -my $marcseriesarray = GetMarcSeries ($record,$marcflavour); -my $marcurlsarray = GetMarcUrls ($record,$marcflavour); -my $marchostsarray = GetMarcHosts($record,$marcflavour); my $subtitle = GetRecordValue('subtitle', $record, GetFrameworkCode($biblionumber)); $template->param( MARCNOTES => $marcnotesarray, - MARCSUBJCTS => $marcsubjctsarray, - MARCAUTHORS => $marcauthorsarray, - MARCSERIES => $marcseriesarray, - MARCURLS => $marcurlsarray, - MARCISBNS => $marcisbnsarray, - MARCHOSTS => $marchostsarray, norequests => $norequests, RequestOnOpac => C4::Context->preference("RequestOnOpac"), itemdata_ccode => $itemfields{ccode}, -- 2.39.2