sys_file_metadata table 扩展但字段未显示

sys_file_metadata table extended but field not showing

我通过添加一列扩展了 sys_file_metadata table。新输入的列出现在 table 中,但该字段未显示在 flexform 中。我错过了什么吗?

您必须将字段添加到 TCA 列和 showitem:

<?php

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

defined('TYPO3_MODE') || die();

$tempColumns = [
    'protected_file' => [
        'exclude' => true,
        'label'   => 'LLL:EXT:spt_downloads/Resources/Private/Language/locallang_db.xlf:tx_sptdownloads_domain_model_downloadmanager.protected_file',
        'config'  => [
            'type'    => 'check',
            'items'   => [
                '1' => [
                    '0' => 'LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.enabled'
                ]
            ],
            'default' => 0,
        ]
    ]
];

ExtensionManagementUtility::addTCAcolumns('sys_file_metadata', $tempColumns);
ExtensionManagementUtility::addToAllTCAtypes('sys_file_metadata', 'protected_file');

重要的是不要忘记 addTCAcolumnsaddToAllTCAtypes。第一个将您的字段添加到 TCA,第二个通过将字段放入 tca 的 showitem 中使该字段在元素的编辑器中可见。

您也已将此代码放入 spt_downloads/Configuration/TCA/Overrides/sys_file_metadata.php。在 ext_tables.php 中使用此代码已弃用,不再有效。