[FEATURE] Add record list download presets
The modal to download selected data from a record listing (Web > List) is enhanced to display a list of configured presets. These presets can be defined via page TSconfig or user TSconfig. The listed columns take personal "exclude fields" into consideration. A preset definition looks like: ``` mod.web_list.downloadPresets { pages { 10 { label = Test-Preset-1 columns = uid, title, crdate, slug } 20 { label = LLL:EXT:myext/Resources/Private/Language/locallang.xlf:preset2.label columns = uid, title, slug identifier = some-identifier } } } ``` Multiple presets for one table can exist, and as many presets for as many tables as needed are possible. Extensions can provide such preset definitions in their `Configuration/page.tsconfig` file, or in Site Sets. A new PSR-14 event `BeforeRecordDownloadPresetsAreDisplayedEvent` allows to modify the list of presets as well. A new PSR-14 event `BeforeRecordDownloadIsExecutedEvent` allows to modify the actual download data, replacing the old hook usage of $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList'] ['customizeCsvHeader'] and $GLOBALS['TYPO3_CONF_VARS'] ['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList'] ['customizeCsvRow']. These hooks have been deprecated and are scheduled for removal with TYPO3 v14; the only public TYPO3 extension currently utilizing this hook is gridelements. Resolves: #102337 Releases: main Change-Id: I001e43874c082c99ded5c6dd8d0f6c3b9e020393 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83713 Tested-by:Oliver Bartsch <bo@cedev.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Benni Mack <benni@typo3.org>
Showing
- typo3/sysext/backend/Classes/Controller/RecordListDownloadController.php 37 additions, 4 deletions...ckend/Classes/Controller/RecordListDownloadController.php
- typo3/sysext/backend/Classes/RecordList/DatabaseRecordList.php 58 additions, 2 deletions.../sysext/backend/Classes/RecordList/DatabaseRecordList.php
- typo3/sysext/backend/Classes/RecordList/DownloadPreset.php 68 additions, 0 deletionstypo3/sysext/backend/Classes/RecordList/DownloadPreset.php
- typo3/sysext/backend/Classes/RecordList/DownloadRecordList.php 9 additions, 0 deletions.../sysext/backend/Classes/RecordList/DownloadRecordList.php
- typo3/sysext/backend/Classes/RecordList/Event/BeforeRecordDownloadIsExecutedEvent.php 111 additions, 0 deletions.../RecordList/Event/BeforeRecordDownloadIsExecutedEvent.php
- typo3/sysext/backend/Classes/RecordList/Event/BeforeRecordDownloadPresetsAreDisplayedEvent.php 90 additions, 0 deletions...st/Event/BeforeRecordDownloadPresetsAreDisplayedEvent.php
- typo3/sysext/backend/Resources/Private/Language/locallang_download.xlf 3 additions, 0 deletions...backend/Resources/Private/Language/locallang_download.xlf
- typo3/sysext/backend/Resources/Private/Templates/RecordDownloadSettings.html 13 additions, 0 deletions...d/Resources/Private/Templates/RecordDownloadSettings.html
- typo3/sysext/backend/Tests/Functional/RecordList/DownloadRecordListTest.php 234 additions, 0 deletions...nd/Tests/Functional/RecordList/DownloadRecordListTest.php
- typo3/sysext/backend/Tests/Unit/RecordList/Event/BeforeRecordDownloadIsExecutedEventTest.php 99 additions, 0 deletions...ordList/Event/BeforeRecordDownloadIsExecutedEventTest.php
- typo3/sysext/backend/Tests/Unit/RecordList/Event/BeforeRecordDownloadPresetsAreDisplayedEventTest.php 189 additions, 0 deletions...vent/BeforeRecordDownloadPresetsAreDisplayedEventTest.php
- typo3/sysext/core/Documentation/Changelog/13.2/Deprecation-102337-DeprecateHooksForRecordDownload.rst 50 additions, 0 deletions....2/Deprecation-102337-DeprecateHooksForRecordDownload.rst
- typo3/sysext/core/Documentation/Changelog/13.2/Feature-102337-IntroducePSR14EventModifyRecordListDownloadData.rst 132 additions, 0 deletions...02337-IntroducePSR14EventModifyRecordListDownloadData.rst
- typo3/sysext/core/Documentation/Changelog/13.2/Feature-102337-IntroducePSR14EventModifyRecordListDownloadPresets.rst 105 additions, 0 deletions...37-IntroducePSR14EventModifyRecordListDownloadPresets.rst
- typo3/sysext/core/Documentation/Changelog/13.2/Feature-102337-PresetsForRecordListDownload.rst 99 additions, 0 deletions...elog/13.2/Feature-102337-PresetsForRecordListDownload.rst
- typo3/sysext/core/Tests/Acceptance/Application/RecordList/RecordDownloadWithPresetCest.php 109 additions, 0 deletions...e/Application/RecordList/RecordDownloadWithPresetCest.php
- typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php 12 additions, 0 deletions...figuration/ExtensionScanner/Php/ArrayDimensionMatcher.php
Please register or sign in to comment