【问题标题】:TYPO3 Media-Emelent own fieldTYPO3 Media-Emelent 自己的领域
【发布时间】:2020-04-27 08:56:10
【问题描述】:

是否可以在我的typo3 扩展中扩展媒体类型? 默认字段是替代、标题、描述。 如何添加自己的字段?

$GLOBALS['TCA']['tt_content']['types']['my_slider'] = [
        'showitem'         => '
                --palette--;' . $frontendLanguageFilePrefix . 'palette.general;general,
                --palette--;' . $languageFilePrefix . 'tt_content.palette.mediaAdjustments;mediaAdjustments,
                pi_flexform,
            --div--;' . $customLanguageFilePrefix . 'tca.tab.sliderElements,
                 assets
        ',
        'columnsOverrides' => [
            'media' => [
                'label'  => $languageFilePrefix . 'tt_content.media_references',
                'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('media', [
                    'appearance'    => [
                        'createNewRelationLinkTitle' => $languageFilePrefix . 'tt_content.media_references.addFileReference'
                    ],
                    // custom configuration for displaying fields in the overlay/reference table
                    // behaves the same as the image field.
                    'foreign_types' => $GLOBALS['TCA']['tt_content']['columns']['image']['config']['foreign_types']

                ], $GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext'])
            ]
        ]
    ];

【问题讨论】:

    标签: php typo3 typo3-extensions fal


    【解决方案1】:

    如果您分析 TYPO3 数据库的数据结构,您会发现:这些字段(titlealternative)不是表 sys_file 中的字段,而是在 sys_file_metadata 中的字段(并且在 sys_file_reference 中用于覆盖它们特定用途)

    有了这些知识,您可以将字段添加到这些表中,并为它们提供适当的呈现和行为。


    将字段添加到 sys_file_metadata 后,如果在任何地方使用该字段,它们将作为默认值可用于每个文件。
    如果您希望这些字段仅在特殊用途时出现,您需要仅为表 sys_file_reference 设置字段,该表仅用于文件与其用途之间的关系。并且您需要设置条件以仅当您的内容元素使用文件时才显示字段。这种情况可能有点复杂。如果您使用单独的表格,则可以使用此foreign_table 的用法,如果您使用tt_content 记录,您还需要在条件中包含记录的CType。可能您需要userfunc
    或者你有一个唯一的字段名?

    【讨论】:

    • 不,我没有唯一的字段名。只有 CType。我坚持如果我的 CType 然后从 sys_file_reference 执行代码
    • 那么您可以使用条件使sys_fiel_reference 中的字段在基于字段tablenamesfieldname 的记录中可见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多