TYPO3 8.7: пользовательское поле не добавляется в таблицу tt_content из пользовательского расширения - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь добавить одно настраиваемое поле в таблицу tt_content в произвольном расширении.Я добавил оператор Создать таблицу в ext_tables.sql и зарегистрировал поле в пользовательском элементе содержимого TCA.

Но когда я активирую расширение, дополнительное поле в tt_content не добавляется.Somenone может привести меня к моей ошибке или дать подсказку, где искать.

Как я понял документацию, операторы в ext_tables.sql автоматически выполняются менеджером расширений при активации расширения.

Система TYPO3 8.7.17.

Абсолютный новичок в TYPO3.Спасибо, ребята ...

// 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 есть два пробела.Саймон Джилли обнаружил ошибку.

1 Ответ

0 голосов
/ 21 сентября 2019
#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.

...