'Unknown column' 在 TYPO3 中添加自定义字段时出错?

'Unknown column' error when adding custom fields in TYPO3?

我正在尝试将两个新字段添加到所有内容元素的 header 区域,但是当我尝试在这些字段中保存带有文本的元素时,出现此错误:

An exception occurred while executing 'SELECT `ext_field1` FROM `tt_content` WHERE `uid` = ?' with params [27]: Unknown column 'ext_field1' in 'field list'

我的ext_tables.sql是这样的:

CREATE TABLE tt_content (
    ext_field1 varchar(22) DEFAULT '' NOT NULL,
    ext_field2 varchar(22) DEFAULT '' NOT NULL,
);

我的tt_content.php是这样的:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [
    'ext_field1' => [
        'exclude' => 0,
        'label' => 'Label 1',
        'config' => [
            'type' => 'input',
        ],
    ],
    'ext_field2' => [
        'exclude' => 0,
        'label' => 'Label 2',
        'config' => [
            'type' => 'input',
        ],
    ],
]);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
    'tt_content',
    'headers',
    '--linebreak--,ext_field1,ext_field2',
    'after:header_link'
);

您的列似乎不在数据库中。解决方案:

  • 在 TYPO3<9.0 中,转到安装工具和 运行 数据库更新以添加您的字段。
  • 在TYPO3>=9.0中在维护模块中进行。