configuration - 从 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 的映射在这里不起作用?提前致谢。
解决方案
如果已经安装了扩展,TYPO3 不知道是否已经定义了新列,我们必须手动进行。
TYPO3 v9
在维护和“卡”下分析数据库结构数据库单击分析数据库
TYPO3 v8、v7、v6
在安装工具模块下,选择重要操作,然后选择分析数据库
此致
推荐阅读
- python - 在某个类别中创建频道
- python - 如何使用 python 从给定文本生成问题 True/False?
- nginx - PHP7 安装:libcurl3 和 libwebp5 依赖,但不可安装
- swift - swift:无法将类型“()”的值转换为预期的参数类型“”
- python - 在同一个图上绘制多个比例
- c - eclipse 跳过 main 函数而不是执行它
- python - 具有自定义模型初始化的 Django modelformset
- python - 来自维基百科页面的表格
- reactjs - 如何在反应中将图标添加到来自数据库的键
- svelte - svelte dev server 仅在我保存 css 文件后应用全局样式