From 26ccf1b00ffcfeaf5cb4557f96df9cb352e5bf10 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: Mason James --- 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 01c801f371..59099b6852 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -669,24 +669,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