【问题标题】:Add a custom field in a custom content element by TYPO3 ver. 10.4.21在 TYPO3 版本的自定义内容元素中添加自定义字段。 10.4.21
【发布时间】:2021-12-02 09:45:01
【问题描述】:

我希望任何人都可以帮助我为媒体和图像元素添加自定义字段。

我创建了一个带有扩展名“sitepackage builder”的自定义内容元素。 我想用我的新变量为媒体元素添加一个字段。

我想这样添加:

媒体元素应该能够上传图片(例如 jpeg、png)和音频(mp3、mp4...)。如果我还可以在图片上添加其他类型的媒体,例如 pdf 等,那就太好了。

我知道如何在 TCA 中添加带有“资产”的媒体元素,但是我不能使用我的变量。

我在 TCA 中添加了两个字段,一个用于媒体,另一个用于图像。但是我需要两个变量。我只想对具有媒体和图像的字段使用一个变量。

这是我现在的媒体领域:

$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
    $GLOBALS['TCA']['tt_content']['columns'],
    [
        'tx_pagesaddfields_slider1_video2' => array(
            'exclude' => 1,
            'label' => 'Video',
            'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
                    'tx_pagesaddfields_slider1_video2',
                    array(
                            'foreign_types' => array(
                                    \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => array(
                                            'showitem' => '
                                                    --palette--;;audioOverlayPalette,
                                                    --palette--;;filePalette',
                                    ),
                                    \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => array(
                                            'showitem' => '
                                                    --palette--;;videoOverlayPalette,
                                                    --palette--;;filePalette',
                                    )
                            )
                    ),
                    'wav,mpeg,mp4,ogg'
            )
    )
    ]
);

这是我现在的图像领域:

$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
    $GLOBALS['TCA']['tt_content']['columns'],
    [
        'tx_pagesaddfields_slider1_image2' => [
            'exclude' => 1,
            'label' => 'Image',
            'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
                'tx_pagesaddfields_slider1_image2',
                [
                    'appearance' => [
                        'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
                    ],
                    'overrideChildTca' => [
                        'columns' => [
                            'crop' => [
                                'description' => 'field description',
                            ],
                        ],
                        'types' => [
                            \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
                                'showitem' => '
                                --palette--;;imageoverlayPalette,
                                --palette--;;filePalette'
                            ],
                        ],
                    ],
                ],
                $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
            ),
        ],
    ]
);

就像我已经说过的,我只想为媒体和图像添加一个字段,如下所示:

我搜索了很多,但找不到代码。

如果您知道如何为媒体和图像添加自定义字段,请在此处回答。

感谢您的帮助。

【问题讨论】:

    标签: image typo3 field media


    【解决方案1】:

    看看typo3/sysext/frontend/Configuration/TCA/tt_content.php

    'assets' => [
            'label' => 'LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.asset_references',
            'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('assets', [
                'appearance' => [
                    'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.asset_references.addFileReference'
                ],
                // custom configuration for displaying fields in the overlay/reference table
                // behaves the same as the image field.
                'overrideChildTca' => [
                    'types' => [
                        '0' => [
                            'showitem' => '
                                --palette--;;imageoverlayPalette,
                                --palette--;;filePalette'
                        ],
                        \TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
                            'showitem' => '
                                --palette--;;imageoverlayPalette,
                                --palette--;;filePalette'
                        ],
                        \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'
                        ],
                        \TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
                            'showitem' => '
                                --palette--;;imageoverlayPalette,
                                --palette--;;filePalette'
                        ]
                    ],
                ],
            ], $GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext'])
        ],
    

    【讨论】:

      猜你喜欢
      • 2019-11-16
      • 1970-01-01
      • 2017-07-24
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多