![](/img/trans.png)
[英]Typo3 11: How to extend sys_file_reference with another sys_file_reference?
[英]How to create a sys_file_reference inside another sys_file_reference?
我需要将一些轨道文件添加到 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')
],
好的,我找到了解决方案。 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'
]
],
],
解决了我的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.