簡體   English   中英

通過 TYPO3 版本在自定義內容元素中添加自定義字段。 10.4.21

[英]Add a custom field in a custom content element by TYPO3 ver. 10.4.21

我希望任何人都可以幫助我為媒體和圖像元素添加自定義字段。

我創建了一個帶有擴展名“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']
            ),
        ],
    ]
);

在此處輸入圖像描述

就像我已經說過的,我只想為媒體和圖像添加一個字段,如下所示:

在此處輸入圖像描述

我已經搜索了很多,但我找不到代碼。

如果您知道如何為媒體和圖像添加自定義字段,請在此處回答。

謝謝您的幫助。

看看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'])
    ],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM