From f2c1b713c3432ecaebf64beab75cfd5042e5f3b1 Mon Sep 17 00:00:00 2001 From: Viola Elsenhans <elsenhans@ub.uni-leipzig.de> Date: Thu, 29 Sep 2016 13:38:38 +0200 Subject: [PATCH] refs #8146: * added signature to description-tab by generic marc field f --- .../finc/RecordDriver/SolrMarcFincTrait.php | 24 +++++++++++++++++++ .../templates/RecordTab/description.phtml | 14 +++++++++++ 2 files changed, 38 insertions(+) diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index 0bb43b286bb..027c4d88fc9 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -983,6 +983,30 @@ trait SolrMarcFincTrait return []; } + /** + * Return a local signature via an consortial defined field with subfield $f. + * Marc field depends on library e.g. 986 for GFZK + * + * @return array + * @link https://intern.finc.info/fincproject/issues/8146 + */ + public function getLocalSignature() + { + $retval = []; + + $fields = $this->getMarcRecord() + ->getFields($this->getLocalMarcFieldOfLibrary()); + if (!$fields) { + return null; + } + foreach ($fields as $key => $field) { + if ($q = $field->getSubfield('f')) { + $retval[$key][] = $q->getData(); + } + } + return $retval; + } + /** * Get an array of musical heading based on a swb field * at the marc field. diff --git a/themes/finc/templates/RecordTab/description.phtml b/themes/finc/templates/RecordTab/description.phtml index 48463fe2a51..27e327f7f90 100644 --- a/themes/finc/templates/RecordTab/description.phtml +++ b/themes/finc/templates/RecordTab/description.phtml @@ -245,6 +245,20 @@ </td> </tr> <? endif; ?> + + <? $callnumbers = $this->driver->getLocalSignature(); if (!empty($callnumbers)): ?> + <? $contentDisplayed = true; ?> + <tr> + <th><?=$this->transEsc('Call Number')?>: </th> + <td> + <? foreach ($callnumbers as $field): ?> + <? foreach ($field as $subfield): ?> + <?=trim($this->escapeHtml($subfield))?> + <? endforeach; ?> + <? endforeach; ?> + </td> + </tr> + <? endif; ?> <? if (!isset($contentDisplayed) || !$contentDisplayed): // Avoid errors if there were no rows above ?> <tr><td><?=$this->transEsc('no_description')?></td></tr> -- GitLab