From d48c4fcfe0734193a6304da1bfaadd5b5b14d6f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Lahmann?= <lahmann@ub.uni-leipzig.de> Date: Fri, 23 Sep 2016 10:22:22 +0200 Subject: [PATCH] refs #8725: * added $g as alternative to $v to getHierarchyParentTitle in SolrMarcFincTrait --- .../finc/RecordDriver/SolrMarcFincTrait.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index 90355818367..2e437f94649 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -1006,7 +1006,7 @@ trait SolrMarcFincTrait /** * Return a local signature via an consortial defined field with subfield $f. - * Marc field depends on library e.g. 986 for GFZK + * Marc field depends on library e.g. 986 for GFZK * * @return array * @link https://intern.finc.info/fincproject/issues/8146 @@ -1027,7 +1027,7 @@ trait SolrMarcFincTrait } return $retval; } - + /** * Get an array of musical heading based on a swb field * at the marc field. @@ -1503,6 +1503,16 @@ trait SolrMarcFincTrait { $parentTitle = []; + // https://intern.finc.info/issues/8725 + $vgSelect = function ($field) { + if ($field->getSubfield('v')) { + return $field->getSubfield('v')->getData(); + } elseif ($field->getSubfield('g')) { + return $field->getSubfield('g')->getData(); + } + return false; + }; + // start with 490 (https://intern.finc.info/issues/8704) $fields = $this->getMarcRecord()->getFields('490'); foreach($fields as $field) { @@ -1543,7 +1553,7 @@ trait SolrMarcFincTrait $parentTitle[] = ($field->getSubfield('a') ? $field->getSubfield('a')->getData() : '') . ($field->getSubfield('t') ? ': ' . $field->getSubfield('t')->getData() : '') . - ($field->getSubfield('v') ? ' ; ' . $field->getSubfield('v')->getData() : '') + ($vgSelect($field) ? ' ; ' . $vgSelect($field) : '') ; // {800a: }{800t}{ ; 800v} } } @@ -1553,7 +1563,7 @@ trait SolrMarcFincTrait foreach($fields as $field) { $parentTitle[] = ($field->getSubfield('a') ? $field->getSubfield('a')->getData() : '') . - ($field->getSubfield('v') ? ' ; ' . $field->getSubfield('v')->getData() : '') + ($vgSelect($field) ? ' ; ' . $vgSelect($field) : '') ; // {830a}{ ; 830v} } -- GitLab