From 5bcaa910010d8dbc6fadde488ec1bfed2413e7d4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Demians?= Date: Fri, 7 Nov 2014 19:23:12 +0100 Subject: [PATCH] Bug 13225: Z39.50 result Card View doesn't work for UNIMARC This patch fix UNIMARC Card View on Z39.50 result page. The valid XSL was there: UNIMARC_compact.xml, but were not selected (a regression). This patch use themelanguage to access XSL file, anticipating a intranet new theme in future. TO TEST: Before applying this patch, do a Z39.50 search, and try to display a biblio record card view: meaningless. Retry after applying this patch. Signed-off-by: Chris Cormack Signed-off-by: Katrin Fischer Tested in a UNIMARC installation, works as described. Signed-off-by: Tomas Cohen Arazi --- catalogue/showmarc.pl | 17 ++++++++--------- .../prog/en/xslt/UNIMARC_compact.xsl | 3 --- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/catalogue/showmarc.pl b/catalogue/showmarc.pl index 2c690fcd7d..97bc6fe152 100755 --- a/catalogue/showmarc.pl +++ b/catalogue/showmarc.pl @@ -55,15 +55,14 @@ if(!ref $record) { } if($view eq 'card') { - my $themelang = '/' . C4::Languages::getlanguage($input); - my $xmlrecord= $importid? $record->as_xml(): GetXmlBiblio($biblionumber); - my $xslfile = - C4::Context->config('intrahtdocs') . '/prog' . $themelang . "/xslt/compact.xsl"; - if ( ! -f $xslfile && $themelang ne '/en' ) { - $xslfile=~s#$themelang#/en#; - } - my $newxmlrecord = C4::XSLT::engine->transform($xmlrecord, $xslfile); - print $input->header(-charset => 'UTF-8'), Encode::encode_utf8($newxmlrecord); + my $xml = $importid ? $record->as_xml(): GetXmlBiblio($biblionumber); + my $xsl = C4::Context->preference('marcflavour') eq 'UNIMARC' + ? 'UNIMARC_compact.xsl' : 'compact.xsl'; + my $htdocs = C4::Context->config('intrahtdocs'); + my ($theme, $lang) = C4::Templates::themelanguage($htdocs, $xsl, 'intranet', $input); + $xsl = "$htdocs/$theme/$lang/xslt/$xsl"; + print $input->header(-charset => 'UTF-8'), + Encode::encode_utf8(C4::XSLT::engine->transform($xml, $xsl)); } else { my ( $template, $loggedinuser, $cookie ) = get_template_and_user( diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARC_compact.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARC_compact.xsl index 32e8aecbf1..50681b43ad 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARC_compact.xsl +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARC_compact.xsl @@ -41,9 +41,6 @@ - -
-
-- 2.39.5