0

我需要将一些音轨文件添加到 TYPO3 文件参考中。所以我扩展了 sys_file_reference 的 TCA 并添加了一些字段。其中一个字段应该是对另一个文件的引用。它的工作原理是我可以在后端选择一个文件 在此处输入图像描述

不幸的是,如果我添加了曲目,我将无法保存。TYPO3 给我一个例外。

#1300098528 InvalidArgumentException 对为 FileReference 提供的原始文件的引用不正确。

发生此异常是因为轨道参考的 uid_local 为 0。但我不知道为什么这是 0 以及如何修复它。

这是我的 TCA 配置

'tx_eos_video_tracks' => [
    'exclude' => 1,
    'label' => 'Track files',
    'description' => 'captions, chapters, descriptions, metadata, subtitles',
    'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('tx_eos_video_tracks', [
        'appearance' => [
            'createNewRelationLinkTitle' => 'Add Track'
        ],
        'overrideChildTca' => [
            'types' => [
                '0' => [
                    'showitem' => '
                    --palette--;;tx_eos_video_tracks_palette'
                ]
            ],
        ],
    ], 'vtt,srt')
],
4

1 回答 1

2

好的,我找到了解决方案。Child TCA 中必须始终存在字段 uid_local、hidden、sys_language_uid、l10n_parent。有一个预定义的调色板('filePalette'),它添加字段而不向用户显示它们。

如此变化

'overrideChildTca' => [
        'types' => [
            '0' => [
                'showitem' => '
                --palette--;;tx_eos_video_tracks_palette'
            ]
        ],
    ],

'overrideChildTca' => [
        'types' => [
            '0' => [
                'showitem' => '
                --palette--;;tx_eos_video_tracks_palette,
                --palette--;;filePalette'
            ]
        ],
    ],

解决了我的问题

于 2020-07-28T09:14:40.487 回答