From f2b54249c42cb4ea6c487d1f97c8f87350c6f95a Mon Sep 17 00:00:00 2001 From: Gregor Gawol <gawol@ub.uni-leipzig.de> Date: Fri, 19 Mar 2021 13:47:03 +0100 Subject: [PATCH] refs #17129 [master] display former titles * added method --- .../finc/RecordDriver/SolrMarcFincTrait.php | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index 84838f47913..fa583555078 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -1549,6 +1549,37 @@ trait SolrMarcFincTrait return $retval; } + /** + * Returns former title stored in Marc 247$a. + * Refs. #17129 + * + * @return array|null + */ + public function getFormerTitle() + { + $retval = []; + + $fields = $this->getMarcRecord()->getFields('247'); + + if (!$fields) { + return null; + } + foreach ($fields as $field) { + $subfieldA = $field->getSubfield('a'); + if ($subfieldA + && ($field->getIndicator('2') == 0) + ) { + $value = $subfieldA->getData(); + if ($subfieldF = $field->getSubfield('f')) { + $value = $value . ' (' . $subfieldF->getData() . ')'; + } + $retval[] = $value; + } + + } + return $retval; + } + /** * Returns all notes. * @@ -1558,6 +1589,7 @@ trait SolrMarcFincTrait { $notes = array_merge( (array)$this->getGeneralNotes(), + (array)$this->getFormerTitle(), (array)$this->getAdditionalNotes() ); foreach ($notes as &$note) { -- GitLab