From e9a3716e6e58aaa76d3c9fd538234900ba64b6c4 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 Content-Type: text/plain; charset=utf-8 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). --- 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 bc9b323..0fa588f 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}, -- 1.7.10.4