From 4a37f147d3a6ebba0648d060428ae6cc5be4fd6d Mon Sep 17 00:00:00 2001 From: Dorian Merz <merz@ub.uni-leipzig.de> Date: Thu, 25 Mar 2021 15:59:43 +0100 Subject: [PATCH] refs #17919 [finc] introduce MultiLine switch function for imprint / publication details co-authored by: Robert Lange <robert.lange@uni-leipzig.de> * keep label Published --- .../View/Helper/Root/MultiDataFieldsTrait.php | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php b/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php index 0f137ca2a65..c60b9282306 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', + ], + ]]; + } + } } -- GitLab