From 021030a32a5070dc7c9aea60539820160f697b31 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 09:47:26 +0200 Subject: [PATCH] refs #8705: * added check of getRvkMetadata() to hasTopics() in SolrMarcFincTrait to enable topic tab for RVK only records --- .../finc/RecordDriver/SolrMarcFincTrait.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index 48eda402438..e40ddeb3b8d 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -1575,12 +1575,30 @@ trait SolrMarcFincTrait } } + if (empty($retval)) { + $retval = parent::getAllSubjectHeadings(); + } + // Remove duplicates and then send back everything we collected: return array_map( 'unserialize', array_unique(array_map('serialize', $retval)) ); } + /** + * Check if Topics exists. Realized for instance of UBL only. + * + * @return boolean True if topics exist. + * @access public + */ + public function hasTopics() + { + $rvk = $this->getRvkWithMetadata(); + return (parent::hasTopics() + || (is_array($rvk) && count($rvk) > 0) + ); + } + /** * Get specific marc information about topics. Unflexible solution * for UBL only implemented. -- GitLab