首页 > 解决方案 > 从 tt_content.php 到 ext_tables.sql 的 Typo3 后端映射

问题描述

我在typo3 后端创建了两个输入字段和一个下拉菜单。当我单击保存按钮时,我收到错误消息:

   Doctrine\DBAL\Exception\InvalidFieldNameException

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

在我的 ext_tables.sql 中,我使用以下 sql 语句创建了表:

    CREATE TABLE tt_content (
        inputfield1 varchar(255) DEFAULT '' NOT NULL,
        inputfield2 varchar(255) DEFAULT '' NOT NULL,
        ddOne varchar(255) DEFAULT '' NOT NULL
    );

在 Configuraion/TCA&Overrides/tt_content.php 我创建了三个字段:

    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', array(
'inputfield1' => array(
    'label' => 'Saschas Test',
    'exclude' => 1,
    'config' => array(
        'type' => 'input',
        'max' => 255,
        'eval' => 'trim,nospace'
    ),
),
'inputfield2' => array(
    'label' => 'Noch ein Test',
    'exclude' => 1,
    'config' => array(
        'type' => 'input',
        'max' => 255,
        'eval' => 'trim,nospace'
    ),
),
'ddOne' => array(
    'label' =>'My dropdownMenu',
    'exclude' => 1,
    'renderType' => 'selectSingle',
    'config' => array(
        'type' => 'select',
        'items' => [
            ['Author Jahr Titel'],
            ['Titel Author Jahr'],
            ['Jahr Titel Author']
    ]
        )
    )
)

为什么到表 tt_content 的映射在这里不起作用?提前致谢。

标签: configurationtypo3backend

解决方案


如果已经安装了扩展,TYPO3 不知道是否已经定义了新列,我们必须手动进行。

TYPO3 v9

在维护和“卡”下分析数据库结构数据库单击分析数据库

TYPO3 v8、v7、v6

在安装工具模块下,选择重要操作,然后选择分析数据库

此致


推荐阅读