From 493d7e40f8d2d990ffad2687fc9c3a0b17f66116 Mon Sep 17 00:00:00 2001 From: Gregor Gawol <gawol@ub.uni-leipzig.de> Date: Wed, 4 Jul 2018 14:34:18 +0200 Subject: [PATCH] refs #13586: * getPublishedIn instead of getAIDataIn * added isbn and year to book export * display issn instead of isbn if getISSNs() --- .../finc/RecordDriver/SolrMarcFincTrait.php | 2 +- .../AbstractBase/export-bibtex.phtml | 18 ++++++++++++++++-- .../AbstractBase/export-endnote.phtml | 9 ++++++++- .../RecordDriver/AbstractBase/export-ris.phtml | 9 ++++++++- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index 84efa4443ff..3e52d2544f0 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -418,7 +418,7 @@ trait SolrMarcFincTrait * @access protected * @link https://intern.finc.info/fincproject/issues/969 description */ - protected function getISSN() + public function getISSNs() { return $this->getFieldArray('022', ['a']); } diff --git a/themes/finc/templates/RecordDriver/AbstractBase/export-bibtex.phtml b/themes/finc/templates/RecordDriver/AbstractBase/export-bibtex.phtml index fca59adeb39..f00d5b61c14 100644 --- a/themes/finc/templates/RecordDriver/AbstractBase/export-bibtex.phtml +++ b/themes/finc/templates/RecordDriver/AbstractBase/export-bibtex.phtml @@ -129,12 +129,19 @@ if (is_array($pubPlaces) && is_array($pubDates) && is_array($pubNames)) { } } -$data = $this->driver->tryMethod('getAIDataIn'); +$data = $this->driver->tryMethod('getPublishedIn'); if (isset($data['date'])) { $date = $data['date']; echo "year = {{$date}},\n"; } +if (empty($data)) { + $date = $this->driver->tryMethod('getPublishDateSort'); + if (!empty($date)) { + echo "year = {{$date}},\n"; + } +} + $edition = $this->driver->tryMethod('getEdition'); if (!empty($edition)) { echo "edition = {{$edition}},\n"; @@ -155,13 +162,20 @@ if (is_array($physical)) { } } -$isbns = $this->driver->tryMethod('getISSNs'); +$isbns = $this->driver->tryMethod('getISBNs'); if (is_array($isbns)) { foreach ($isbns as $isbn) { echo "isbn = {{$isbn}},\n"; } } +$issns = $this->driver->tryMethod('getISSNs'); +if (is_array($issns)) { + foreach ($issns as $issn) { + echo "issn = {{$issn}},\n"; + } +} + $languages = $this->driver->tryMethod('getLanguages'); if (is_array($languages)) { foreach ($languages as $language) { diff --git a/themes/finc/templates/RecordDriver/AbstractBase/export-endnote.phtml b/themes/finc/templates/RecordDriver/AbstractBase/export-endnote.phtml index 84f4bb2a2cf..f0f927eb9de 100644 --- a/themes/finc/templates/RecordDriver/AbstractBase/export-endnote.phtml +++ b/themes/finc/templates/RecordDriver/AbstractBase/export-endnote.phtml @@ -94,12 +94,19 @@ if (is_array($pubPlaces) && is_array($pubDates) && is_array($pubNames)) { // echo "%C ?\n"; -$data = $this->driver->tryMethod('getAIDataIn'); +$data = $this->driver->tryMethod('getPublishedIn'); if (isset($data['date'])) { $date = $data['date']; echo "%D {$date}\n"; } +if (empty($data)) { + $date = $this->driver->tryMethod('getPublishDateSort'); + if (!empty($date)) { + echo "%D {$date}}\n"; + } +} + $languages = $this->driver->tryMethod('getLanguages'); if (is_array($languages)) { foreach ($languages as $lang) { diff --git a/themes/finc/templates/RecordDriver/AbstractBase/export-ris.phtml b/themes/finc/templates/RecordDriver/AbstractBase/export-ris.phtml index f83750562a5..58da759de07 100644 --- a/themes/finc/templates/RecordDriver/AbstractBase/export-ris.phtml +++ b/themes/finc/templates/RecordDriver/AbstractBase/export-ris.phtml @@ -158,12 +158,19 @@ if (is_array($pubPlaces) && is_array($pubDates) && is_array($pubNames)) { } } -$data = $this->driver->tryMethod('getAIDataIn'); +$data = $this->driver->tryMethod('getPublishedIn'); if (isset($data['date'])) { $date = $data['date']; echo 'PY - ' . "$date\r\n"; } +if (empty($data)) { + $date = $this->driver->tryMethod('getPublishDateSort'); + if (!empty($date)) { + echo 'PY - ' . "$date\r\n"; + } +} + $languages = $this->driver->tryMethod('getLanguages'); if (is_array($languages)) { foreach ($languages as $lang) { -- GitLab