diff --git a/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php b/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php index 0f137ca2a6525f0f3072aa4fa5a872cba0576234..c60b928230643400c2e3e64ba4f65af36d41a09f 100644 --- a/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php +++ b/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php @@ -179,4 +179,46 @@ trait MultiDataFieldsTrait return $final; } + /** + * Multiline function for publication details + * used as a switch to use getImprint for DefaultRecord + * + * @param $data + * @param $options + * @param $driver + * @return array[] + */ + public function publicationDetailsImprint($data, $options, $driver) + { + $type = $driver->tryMethod('getRecordType'); + if ($type === 'default') { + $data = $driver->tryMethod('getImprint'); + if (empty($data)) { + return []; + } + return [[ + 'label' => 'Published', + 'values' => $data, + 'options' => [ + 'pos' => $options['pos'], + 'renderType' => 'RecordDriverTemplate', + 'template' => 'data-imprint.phtml', + ], + ]]; + } else { + $data = $driver->tryMethod('getPublicationDetails'); + if (empty($data)) { + return []; + } + return [[ + 'label' => 'Published', + 'values' => $data, + 'options' => [ + 'pos' => $options['pos'], + 'renderType' => 'RecordDriverTemplate', + 'template' => 'data-publicationDetails.phtml', + ], + ]]; + } + } }