From 0545b2f0a59b275b359ab1c578977bd617d0ea26 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 (cherry picked from commit 468d3d9c83a9760e796cdf43c7da2766ccf7c9b9) Signed-off-by: Chris Cormack Signed-off-by: Liz Rea --- 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 648da26c2b..701f55d2b2 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -702,24 +702,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.5