我通过添加一列扩展了 sys_file_metadata 表。表中存在新输入的列,但该字段未在 flexform 中显示。我错过了什么吗?
问问题
59 次
1 回答
0
您必须将您的字段添加到 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');
重要的是不要忘记addTCAcolumns
and addToAllTCAtypes
。第一个将您的字段添加到 TCA,第二个通过将字段放入showitem
tca 使该字段在元素的编辑器中可见。
您还将此代码放入spt_downloads/Configuration/TCA/Overrides/sys_file_metadata.php
. 在 an 中使用此代码已ext_tables.php
被弃用并且不再起作用。
于 2019-12-05T10:12:53.857 回答