Php ';未知列';在TYPO3中添加自定义字段时出错?

Php ';未知列';在TYPO3中添加自定义字段时出错?,php,typo3,fluid,typo3-9.x,fluid-styled-content,Php,Typo3,Fluid,Typo3 9.x,Fluid Styled Content,我正在尝试向所有内容元素的标题区域添加两个新字段,但当我尝试在这些字段中保存包含文本的元素时,出现以下错误: 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_

我正在尝试向所有内容元素的标题区域添加两个新字段,但当我尝试在这些字段中保存包含文本的元素时,出现以下错误:

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,
);
\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'
);
我的tt_content.php如下所示:

CREATE TABLE tt_content (
    ext_field1 varchar(22) DEFAULT '' NOT NULL,
    ext_field2 varchar(22) DEFAULT '' NOT NULL,
);
\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中,在维护模块中执行此操作

您的分机是否处于活动状态?是否对数据库表进行了更改?在安装工具和/或数据库工具(如phpmyadmin或similarYes)中使用数据库比较检查,检查数据库以确保表中存在字段。