TYPO3 8.7:自定义字段未从自定义扩展添加到tt_内容表中

TYPO3 8.7:自定义字段未从自定义扩展添加到tt_内容表中,typo3,typo3-8.x,typo3-extensions,Typo3,Typo3 8.x,Typo3 Extensions,我尝试在自定义扩展中向tt_内容表中添加一个自定义字段。我在ext_tables.sql中添加了CREATETABLE语句,并在自定义内容元素TCA中注册了该字段 但是当我激活扩展时,tt_内容中没有添加额外的字段。 没有人能把我引向错误,或者给我一个去哪里找的暗示 据我对文档的理解,ext_tables.sql中的语句是在激活扩展时由扩展管理器自动执行的 系统类型为3 8.7.17 绝对是打字3的初学者。谢谢大家 // ext_tables.sql CREATE TABLE tt_conte

我尝试在自定义扩展中向tt_内容表中添加一个自定义字段。我在ext_tables.sql中添加了CREATETABLE语句,并在自定义内容元素TCA中注册了该字段

但是当我激活扩展时,tt_内容中没有添加额外的字段。 没有人能把我引向错误,或者给我一个去哪里找的暗示

据我对文档的理解,ext_tables.sql中的语句是在激活扩展时由扩展管理器自动执行的

系统类型为3 8.7.17

绝对是打字3的初学者。谢谢大家

// ext_tables.sql
CREATE  TABLE tt_content (
 tx_ug_content_ext_tab_item int(11) unsigned DEFAULT '0',
);

// content element TCA file
/***************
* Register fields
*/
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
   $GLOBALS['TCA']['tt_content']['columns'],
   [
       'tx_ug_content_ext_tab_item' => [
           'label' => 'LLL:EXT:ug_content/Resources/Private/Language/Backend.xlf:ext_tab_item',
           'config' => [
               'type' => 'inline',
               'foreign_table' => 'tx_ug_content_ext_tab_item',
               'foreign_field' => 'tt_content',
               'appearance' => [
                   'useSortable' => true,
                   'showSynchronizationLink' => true,
                   'showAllLocalizationLink' => true,
                   'showPossibleLocalizationRecords' => true,
                   'showRemovedLocalizationRecords' => false,
                   'expandSingle' => true,
                   'enabledControls' => [
                       'localize' => true,
                   ]
               ],
               'behaviour' => [
                   'mode' => 'select',
                   'localizeChildrenAtParentLocalization' => true,
               ]
           ]
       ]
   ]
);
找到解决方案后,CREATE和TABLE之间有两个空格。 西蒙·吉利发现了这个错误

#1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near ')' at line 3

或者换句话说:删除字段定义后的逗号以避免SQL错误。

你说得对,这不是有效的SQL语法。但是在TYPO3中,由于表已经存在,并且TYPO3使用新字段扩展了表,所以需要后面的逗号。解决方案是在CREATE和TABLE之间留出2个空格。