From d0b27125faea010aa53e88a559db85bf0a5c2a97 Mon Sep 17 00:00:00 2001 From: Beatrycze Volk <beatrycze.volk@slub-dresden.de> Date: Tue, 24 Oct 2023 11:41:01 +0200 Subject: [PATCH] Use FlexForm for configuration of Journal PID --- Configuration/FlexForms/Recommender.xml | 35 +++++++++++++++++++ Configuration/TCA/Overrides/tt_content.php | 7 ++++ .../Private/Language/de.locallang_be.xlf | 8 +++++ Resources/Private/Language/locallang_be.xlf | 6 ++++ .../Partials/Recommender/ResultListItem.html | 2 +- .../Partials/Recommender/ResultTableRow.html | 2 +- 6 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 Configuration/FlexForms/Recommender.xml diff --git a/Configuration/FlexForms/Recommender.xml b/Configuration/FlexForms/Recommender.xml new file mode 100644 index 0000000..d4419a4 --- /dev/null +++ b/Configuration/FlexForms/Recommender.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3DataStructure> + <sheets> + <sDEF> + <ROOT> + <TCEforms> + <sheetTitle>LLL:EXT:bison/Resources/Private/Language/locallang_be.xlf:flexform.recommender_title</sheetTitle> + </TCEforms> + <type>array</type> + <el> + <settings.pidJournal> + <TCEforms> + <exclude>1</exclude> + <label>LLL:EXT:slub_events/Resources/Private/Language/locallang_be.xlf:flexform.page_journal</label> + <config> + <type>group</type> + <internal_type>db</internal_type> + <allowed>pages</allowed> + <size>1</size> + <maxitems>1</maxitems> + <minitems>0</minitems> + <show_thumbs>1</show_thumbs> + <wizards> + <suggest> + <type>suggest</type> + </suggest> + </wizards> + </config> + </TCEforms> + </settings.pidJournal> + </el> + </ROOT> + </sDEF> + </sheets> +</T3DataStructure> \ No newline at end of file diff --git a/Configuration/TCA/Overrides/tt_content.php b/Configuration/TCA/Overrides/tt_content.php index 6e8afad..740d985 100644 --- a/Configuration/TCA/Overrides/tt_content.php +++ b/Configuration/TCA/Overrides/tt_content.php @@ -7,6 +7,13 @@ defined('TYPO3') || die(); 'Recommender' ); +$pluginSignature = 'bison_recommender'; +$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['bison_recommender'] = 'pi_flexform'; +\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue( + $pluginSignature, + 'FILE:EXT:bison/Configuration/FlexForms/Recommender.xml' +); + \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( 'Bison', 'Journal', diff --git a/Resources/Private/Language/de.locallang_be.xlf b/Resources/Private/Language/de.locallang_be.xlf index f5030cc..fc72ba4 100644 --- a/Resources/Private/Language/de.locallang_be.xlf +++ b/Resources/Private/Language/de.locallang_be.xlf @@ -66,6 +66,14 @@ <source>User-Agent</source> <target>User-Agent</target> </trans-unit> + <trans-unit id="flexform.recommender_title" xml:space="preserve" approved="yes"> + <source>Recommender Plugin Settings</source> + <target>Recommender-Plugin Einstellungen</target> + </trans-unit> + <trans-unit id="flexform.page_journal" xml:space="preserve" approved="yes"> + <source>Page UID for Journal plugin</source> + <target>Seiten-UID für Journal-Plugin</source> + </trans-unit> </body> </file> </xliff> diff --git a/Resources/Private/Language/locallang_be.xlf b/Resources/Private/Language/locallang_be.xlf index 4b473e7..40372c3 100644 --- a/Resources/Private/Language/locallang_be.xlf +++ b/Resources/Private/Language/locallang_be.xlf @@ -51,6 +51,12 @@ <trans-unit id="config.systemUserAgent" xml:space="preserve"> <source>User-Agent:INSTITUTION/bison-extension</source> </trans-unit> + <trans-unit id="flexform.recommender_title" xml:space="preserve"> + <source>Recommender Plugin Settings</source> + </trans-unit> + <trans-unit id="flexform.page_journal" xml:space="preserve"> + <source>Page UID for Journal plugin</source> + </trans-unit> </body> </file> </xliff> diff --git a/Resources/Private/Partials/Recommender/ResultListItem.html b/Resources/Private/Partials/Recommender/ResultListItem.html index 6619fc6..b3ff599 100644 --- a/Resources/Private/Partials/Recommender/ResultListItem.html +++ b/Resources/Private/Partials/Recommender/ResultListItem.html @@ -28,7 +28,7 @@ </div> <div class="col relative"> <h5 class="card-title"> - <f:link.page pageUid="4" additionalParams="{tx_bison: {id: '{result.id}'}}" class="stretched-link">{result.title}</f:link.page> + <f:link.page pageUid="{settings.pidJournal}" additionalParams="{tx_bison: {id: '{result.id}'}}" class="stretched-link">{result.title}</f:link.page> <f:if condition="{displayMismatchedResults} && {result.filter}"> <span class="badge text-bg-success"><f:translate key="badge.matched"/></span> </f:if> diff --git a/Resources/Private/Partials/Recommender/ResultTableRow.html b/Resources/Private/Partials/Recommender/ResultTableRow.html index f9deb89..3e0a256 100644 --- a/Resources/Private/Partials/Recommender/ResultTableRow.html +++ b/Resources/Private/Partials/Recommender/ResultTableRow.html @@ -19,7 +19,7 @@ <tr data-score="{result.score.value}" data-title="{result.title}" data-publisher="{result.publisher.name}" data-apc="{dataApc}" data-publication-time="{result.publicationTimeWeeks}" data-copyright="{result.retainsCopyrightAuthor}" data-keywords="{dataKeywords}" data-languages="{dataLanguages}" data-subjects="{dataSubjects}"> <th scope="row"> - <f:link.page pageUid="4" additionalParams="{tx_bison: {id: '{result.id}'}}" class="stretched-link">{result.title}</f:link.page> + <f:link.page pageUid="{settings.pidJournal}" additionalParams="{tx_bison: {id: '{result.id}'}}" class="stretched-link">{result.title}</f:link.page> <f:if condition="{displayMismatchedResults} && {result.filter}"> <span class="badge text-bg-success"><f:translate key="badge.matchedShort"/></span> </f:if> -- GitLab