TYPO3 10.4.21自定义内容元素添加通用媒体图片自定义字段实现方法
实现单字段兼容多类型媒体的TCA配置方案
你只需要合并现有两个字段的配置规则,在同一份getFileFieldTCAConfig中同时声明多类文件的适配规则、合并允许上传的后缀即可,完整配置参考如下:
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive( $GLOBALS['TCA']['tt_content']['columns'], [ 'tx_pagesaddfields_slider1_media' => [ 'exclude' => 1, 'label' => '多媒体资源', 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( 'tx_pagesaddfields_slider1_media', [ 'appearance' => [ 'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference' ], 'overrideChildTca' => [ 'columns' => [ 'crop' => [ 'description' => '图片裁剪配置', ], ], 'types' => [ // 图片类型配置 \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [ 'showitem' => ' --palette--;;imageoverlayPalette, --palette--;;filePalette' ], // 音频类型配置 \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [ 'showitem' => ' --palette--;;audioOverlayPalette, --palette--;;filePalette', ], // 视频类型配置 \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [ 'showitem' => ' --palette--;;videoOverlayPalette, --palette--;;filePalette', ], // PDF等文档类型配置 \TYPO3\CMS\Core\Resource\File::FILETYPE_DOCUMENT => [ 'showitem' => ' --palette--;;filePalette', ] ], ], ], // 合并允许的文件后缀:图片+音视频+pdf implode(',', [ $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'], 'wav,mpeg,mp4,ogg,pdf' ]) ), ], ] );
配置完成后需要将新的字段tx_pagesaddfields_slider1_media添加到你自定义内容元素对应的TCA types 配置的showitem列表中,即可在后台看到合并后的单媒体上传字段。前端渲染时直接读取该字段对应的FAL资源,根据资源的类型判断渲染图片/音视频/文档下载链接即可。
内容的提问来源于stack exchange,提问作者Miz15
相关产品推荐
相关产品推荐

