From 43f68c19ca13965c15adc2d69fde434ccf494988 Mon Sep 17 00:00:00 2001 From: Robert Lange <robert.lange@uni-leipzig.de> Date: Wed, 1 Dec 2021 21:39:56 +0100 Subject: [PATCH] refs #20266 [finc] add specific method for additional titles (Marc 249a) in SolrMarcFincTrait * add template for multiple lines with horizontal rows in one table data * add css classes for more detailed margins * add translations for aditional titles, TODO: remove from de_15 and rk_le --- local/languages/de.ini | 3 +++ local/languages/en.ini | 3 +++ .../finc/RecordDriver/SolrMarcFincTrait.php | 20 +++++++++++++++++++ themes/finc/scss/compiled.scss | 12 +++++++++++ .../DefaultRecord/data-multiline.phtml | 7 +++++++ 5 files changed, 45 insertions(+) create mode 100644 themes/finc/templates/RecordDriver/DefaultRecord/data-multiline.phtml diff --git a/local/languages/de.ini b/local/languages/de.ini index 6428ea95682..bf138d11610 100644 --- a/local/languages/de.ini +++ b/local/languages/de.ini @@ -2081,3 +2081,6 @@ Unknown Electronic = "Titel ist beim Resolver-Service nicht bekannt" title_wrapper = "%%pageTitle%% %%titleSeparator%% %%siteTitle%%" load_tab_content_hint = "Klicken Sie hier, um den Inhalt der Registerkarte zu laden." + +; #20266 +Additional Titles = "Weitere Titel" diff --git a/local/languages/en.ini b/local/languages/en.ini index f1aa7b7cf47..b3d25fe3f7e 100644 --- a/local/languages/en.ini +++ b/local/languages/en.ini @@ -2168,3 +2168,6 @@ Unknown Electronic = "Record is unknown to the resolver service" title_wrapper = "%%pageTitle%% %%titleSeparator%% %%siteTitle%%" load_tab_content_hint = "Click to load tab content." + +; #20266 +Additional Titles = "Additional Titles" \ No newline at end of file diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index ba947ac8b20..fd921067791 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -572,6 +572,26 @@ trait SolrMarcFincTrait return count($array) ? array_pop($array) : ''; } + /** + * Get an array of title details with information from MARC field 249a. + * + * @return array + */ + public function getTitleDetails249a() + { + $titleDetails = []; + + if ($field = $this->getMarcRecord()->getField('249')) { + if ($subfields = $field->getSubfields('a')) { + foreach ($subfields as $subfield) { + $titleDetails[] = $subfield->getData(); + } + } + } + + return array_unique($titleDetails); + } + /** * Get an array of title detail lines with original notations combining * information from MARC field 245 and linked content in 880. diff --git a/themes/finc/scss/compiled.scss b/themes/finc/scss/compiled.scss index 7b324eb9c67..63d611713d1 100644 --- a/themes/finc/scss/compiled.scss +++ b/themes/finc/scss/compiled.scss @@ -1265,11 +1265,23 @@ table.collapse.in { margin-top: ($grid-gutter-width / 2); } +.margin-t-half { + margin-top: ($grid-gutter-width / 4); +} + ////// NO margin bottom .no-margin-btm { margin-bottom: 0; } +.margin-btm { + margin-bottom: ($grid-gutter-width / 2); +} + +.margin-btm-half { + margin-bottom: ($grid-gutter-width / 4); +} + ////// NO margin left .no-margin-l { margin-left: 0; diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/data-multiline.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/data-multiline.phtml new file mode 100644 index 00000000000..0e1ea678530 --- /dev/null +++ b/themes/finc/templates/RecordDriver/DefaultRecord/data-multiline.phtml @@ -0,0 +1,7 @@ +<!-- finc: RecordDriver - DefaultRecord - data-multiline --> +<?php if (is_array($data)): ?> + <?=implode('<hr class="margin-t-half margin-btm-half" />', $data) ?> +<?php else: ?> + <?= $data ?> +<?php endif; ?> +<!-- finc: RecordDriver - DefaultRecord - data-multiline - END --> -- GitLab