Skip to content

Commit 5a5b49a

Browse files
Merge pull request #3 from beatrycze-volk/display-author-uri
[BUGFIX] Display author URI as an external link
2 parents 40571fe + 78ad64e commit 5a5b49a

File tree

4 files changed

+17
-7
lines changed

4 files changed

+17
-7
lines changed

Classes/Format/Mods.php

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,16 @@ private function getAuthorFromXml(array $authors, int $i): void
173173
$k++;
174174
}
175175
ksort($name);
176+
176177
$this->metadata['author'][$i] = trim(implode(', ', $name));
177178
}
178-
// Append "valueURI" to name using Unicode unit separator.
179+
179180
if (isset($authors[$i]['valueURI'])) {
180-
$this->metadata['author'][$i] .= pack('C', 31) . (string) $authors[$i]['valueURI'];
181+
$displayName = $this->metadata['author'][$i];
182+
$this->metadata['author'][$i] = [
183+
'name' => $displayName,
184+
'url' => (string) $authors[$i]['valueURI']
185+
];
181186
}
182187
}
183188

@@ -263,9 +268,13 @@ private function getHolderFromViafApi(string $viafId, array $holders, int $i): v
263268
private function getHolderFromXml(array $holders, int $i): void
264269
{
265270
$this->getHolderFromXmlDisplayForm($holders, $i);
266-
// Append "valueURI" to name using Unicode unit separator.
271+
272+
$displayName = $this->metadata['holder'][$i];
267273
if (isset($holders[$i]['valueURI'])) {
268-
$this->metadata['holder'][$i] .= pack('C', 31) . (string) $holders[$i]['valueURI'];
274+
$this->metadata['holder'][$i] = [
275+
'name' => $displayName,
276+
'url' => (string) $holders[$i]['valueURI']
277+
];
269278
}
270279
}
271280

Resources/Private/Data/MetadataDefaults.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
}
104104
],
105105
"default_value": "",
106-
"wrap": "key.wrap = <dt class=\"tx-dlf-metadata-author\">|</dt>\nvalue.required = 1\nvalue.split.token.char = 31\nvalue.split.cObjNum = 1\nvalue.split.1.1 = CASE\nvalue.split.1.1.key.data = register:SPLIT_COUNT\nvalue.split.1.1.0 = LOAD_REGISTER\nvalue.split.1.1.0.tx_dlf_metadata_author_name.current = 1\nvalue.split.1.1.1 = LOAD_REGISTER\nvalue.split.1.1.1.tx_dlf_metadata_author_uri.current = 1\nvalue.postCObject = TEXT\nvalue.postCObject.value = {register:tx_dlf_metadata_author_name}\nvalue.postCObject.value.insertData = 1\nvalue.postCObject.value.stdWrap.typolink.parameter = {register:tx_dlf_metadata_author_uri} _blank external\nvalue.postCObject.value.stdWrap.typolink.parameter.insertData = 1\nvalue.postCObject.value.stdWrap.typolink.title = {register:tx_dlf_metadata_author_name}\nvalue.postCObject.value.stdWrap.typolink.ifNotEmpty = 1\nvalue.wrap = <dd class=\"tx-dlf-metadata-author\">|</dd>",
106+
"wrap": "key.wrap = <dt class=\"tx-dlf-metadata-author\">|</dt>\nvalue.required = 1\nvalue.wrap = <dd class=\"tx-dlf-metadata-author\">|</dd>",
107107
"index_tokenized": 1,
108108
"index_stored": 1,
109109
"index_indexed": 1,

Resources/Private/Partials/Metadata/Entries.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<f:variable name="wrappedValues"><f:spaceless>
2020
<f:for each="{documentMetadataSection.{configObject.indexName}}" as="value" iteration="iterator">
2121
<f:variable name="buildUrlVariable" value="{buildUrl.{sectionIterator.index}}" />
22+
<f:variable name="externalUrlVariable" value="{externalUrl.{sectionIterator.index}}" />
2223
<f:if condition="{buildUrlVariable.{configObject.indexName}}">
2324
<f:then>
2425
<f:render partial="Metadata/LinkEntry" arguments="{_all}"/>

Resources/Private/Partials/Metadata/ExternalLinkEntry.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
data-namespace-typo3-fluid="true">
1515

1616
<f:variable name="url" value="{externalUrlVariable.{configObject.indexName}.externalUrl.url}" />
17-
<f:variable name="value" value="{externalUrlVariable.{configObject.indexName}.externalUrl.name}" />
17+
<f:variable name="name" value="{externalUrlVariable.{configObject.indexName}.externalUrl.name}" />
1818

19-
<f:link.external uri="{url}">{value}</f:link.external>
19+
<dd><f:link.external uri="{url}">{name}</f:link.external></dd>

0 commit comments

Comments
 (0)