I create a new extension with “Sitepackage Builder” and I want to add a content element. I could display a wizard and some fields in Backend. Show this: 
I added an inline, but if I click the button “Create new”, then an error Error undifined comes up like this: 
At first, I created a new table tx_carousel_klassenfahrt_item and added an attribute tx_carousel_klassenfahrt_item in the table tt_content in ext_tables.sql:
CREATE TABLE tt_content (
tx_carousel_klassenfahrt_item int(11) unsigned DEFAULT '0',
);
CREATE TABLE tx_carousel_klassenfahrt_item (
uid int(11) unsigned NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
tt_content int(11) unsigned DEFAULT '0',
item_type varchar(255) DEFAULT '' NOT NULL,
layout varchar(255) DEFAULT '' NOT NULL,
header varchar(255) DEFAULT '' NOT NULL,
header_layout tinyint(3) unsigned DEFAULT '1' NOT NULL,
header_position varchar(255) DEFAULT 'center' NOT NULL,
header_class varchar(255) DEFAULT '' NOT NULL,
subheader varchar(255) DEFAULT '' NOT NULL,
subheader_layout tinyint(3) unsigned DEFAULT '2' NOT NULL,
subheader_class varchar(255) DEFAULT '' NOT NULL,
nav_title varchar(255) DEFAULT '' NOT NULL,
button_text varchar(255) DEFAULT '' NOT NULL,
bodytext text,
tx_preis varchar(255) DEFAULT '' NOT NULL,
image int(11) unsigned DEFAULT '0',
link varchar(1024) DEFAULT '' NOT NULL,
text_color varchar(255) DEFAULT '' NOT NULL,
background_color varchar(255) DEFAULT '' NOT NULL,
background_image int(11) unsigned DEFAULT '0',
background_image_options mediumtext,
tstamp int(11) unsigned DEFAULT '0' NOT NULL,
crdate int(11) unsigned DEFAULT '0' NOT NULL,
cruser_id int(11) unsigned DEFAULT '0' NOT NULL,
deleted smallint unsigned DEFAULT '0' NOT NULL,
hidden smallint unsigned DEFAULT '0' NOT NULL,
starttime int(11) unsigned DEFAULT '0' NOT NULL,
endtime int(11) unsigned DEFAULT '0' NOT NULL,
sorting int(11) DEFAULT '0' NOT NULL,
sys_language_uid int(11) DEFAULT '0' NOT NULL,
l10n_parent int(11) unsigned DEFAULT '0' NOT NULL,
l10n_diffsource mediumblob NULL,
t3ver_oid int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_id int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_wsid int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_label varchar(255) DEFAULT '' NOT NULL,
t3ver_state smallint DEFAULT '0' NOT NULL,
t3ver_stage int(11) DEFAULT '0' NOT NULL,
t3ver_count int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_tstamp int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_move_id int(11) unsigned DEFAULT '0' NOT NULL,
t3_origuid int(11) unsigned DEFAULT '0' NOT NULL,
PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid),
KEY language (l10n_parent,sys_language_uid)
);
My PHP-files in TCA are these:
in /Configuration/TCA/Overrides/tx_carousel_klassenfahrt_content_element.php
<?php
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['carousel_klassenfahrt'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['carousel_klassenfahrt'] = [];
}
// Add content element PageTSConfig
TYPO3CMSCoreUtilityExtensionManagementUtility::registerPageTSConfigFile(
'rasanidesign_klassenfahrt',
'Configuration/TsConfig/Page/ContentElement/Element/CarouselKlassenfahrt.tsconfig',
'Content Element: Carousel Klassenfahrt'
);
// Add content element to selector list
TYPO3CMSCoreUtilityExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'Carousel Klassenfahrt',
'carousel_klassenfahrt',
'content-bootstrappackage-carousel',
'rasanidesign_klassenfahrt'
],
'carousel',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['carousel_klassenfahrt'] = 'content-bootstrappackage-carousel';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['carousel_klassenfahrt'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['carousel_klassenfahrt'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_carousel_klassenfahrt_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields: front side header
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'tx_carousel_klassenfahrt_item' => [
'exclude' => 1,
'label' => 'Create item',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_carousel_klassenfahrt_item',
'foreign_field' => 'pid',
'foreign_table_field' => 'tt_content',
'appearance' => [
'collapseAll' => 1,
'expandSingle' => 1,
],
],
]
]
);
in /Configuration/TCA/tx_carousel_klassenfahrt_item.php
<?php
if (TYPO3CMSCoreUtilityExtensionManagementUtility::isLoaded('lang')) {
$generalLanguageFile = 'EXT:lang/Resources/Private/Language/locallang_general.xlf';
} else {
$generalLanguageFile = 'EXT:core/Resources/Private/Language/locallang_general.xlf';
}
return [
'ctrl' => [
'label' => 'header',
'sortby' => 'sorting',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item',
'type' => 'item_type',
'delete' => 'deleted',
'versioningWS' => true,
'origUid' => 't3_origuid',
'hideTable' => true,
'hideAtCopy' => true,
'prependAtCopy' => 'LLL:' . $generalLanguageFile . ':LGL.prependAtCopy',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'languageField' => 'sys_language_uid',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'typeicon_column' => 'item_type',
'typeicon_classes' => [
'default' => 'content-bootstrappackage-carousel-item',
'header' => 'content-bootstrappackage-carousel-item-header',
'call_to_action' => 'content-bootstrappackage-carousel-item-calltoaction',
'image' => 'content-bootstrappackage-carousel-item-image',
'text' => 'content-bootstrappackage-carousel-item-text',
'text_and_image' => 'content-bootstrappackage-carousel-item-textandimage',
'text_and_image_carousel_klassenfahrt' => 'content-bootstrappackage-carousel-item-textandimage',
'background_image' => 'content-bootstrappackage-carousel-item-backgroundimage',
'html' => 'content-bootstrappackage-carousel-item-html'
]
],
'interface' => [
'showRecordFieldList' => '
hidden,
tt_content,
header,
header_layout,
header_class,
subheader,
subheader_layout,
subheader_class
bodytext,
image,
text_color,
background_color,
background_image,
carousel_klassenfahrt_relation
',
],
'types' => [
'1' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'header' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
text_color,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'text' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
bodytext,
text_color,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'call_to_action' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
bodytext,
button_text,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'image' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
image,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'text_and_image' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
bodytext,
text_color,
image,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'text_and_image_carousel_klassenfahrt' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
bodytext,
tx_preis,
text_color,
image,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'background_image' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
background_color,
background_image,
background_image_options,
link,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'html' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.html_formlabel,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
',
'columnsOverrides' => [
'bodytext' => [
'config' => [
'enableRichtext' => false
]
]
]
],
],
'palettes' => [
'1' => [
'showitem' => ''
],
'access' => [
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel
'
],
'header' => [
'showitem' => '
header,
header_layout,
header_class,
--linebreak--,
subheader,
subheader_layout,
subheader_class,
--linebreak--,
header_position,
'
],
'general' => [
'showitem' => '
tt_content,
item_type;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType_formlabel,
--linebreak--,
layout,
'
],
'visibility' => [
'showitem' => '
hidden;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item
'
],
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
],
],
'columns' => [
'tt_content' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.tt_content',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tt_content',
'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.{#CType} IN ('carousel','carousel_small','carousel_fullscreen')',
'maxitems' => 1,
'default' => 0,
],
],
'item_type' => [
'label' => 'LLL:' . $generalLanguageFile . ':LGL.type',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.header',
'header',
'content-bootstrappackage-carousel-item-header'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.text',
'text',
'content-bootstrappackage-carousel-item-text'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.calltoaction',
'call_to_action',
'content-bootstrappackage-carousel-item-calltoaction'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.image',
'image',
'content-bootstrappackage-carousel-item-image'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.textandimage',
'text_and_image',
'content-bootstrappackage-carousel-item-textandimage'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.textandimage',
'text_and_image',
'content-bootstrappackage-carousel-item-textandimagecarouselklassenfahrt'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.backgroundimage',
'background_image',
'content-bootstrappackage-carousel-item-backgroundimage'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.html',
'html',
'content-bootstrappackage-carousel-item-html'
],
],
'default' => 'header',
'authMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['explicitADmode'],
'authMode_enforce' => 'strict'
],
'l10n_mode' => 'exclude',
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0'
]
]
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
]
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'sys_language_uid' => [
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => [
[
'LLL:' . $generalLanguageFile . ':LGL.allLanguages',
-1
],
[
'LLL:' . $generalLanguageFile . ':LGL.default_value',
0
]
],
'allowNonIdValues' => true,
]
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'',
0
]
],
'foreign_table' => 'tx_carousel_klassenfahrt_content',
'foreign_table_where' => 'AND tx_carousel_klassenfahrt_content.pid=###CURRENT_PID### AND tx_bootstrappackage_carousel_item.sys_language_uid IN (-1,0)',
'default' => 0
]
],
...
I think the relation between the table “tt_content” and “tx_carousel_klassenfahrt_item” doesn’t work and my code in TCA are also incorrect…
Could anyone help me with this? I want to show up my fileds and save data in my database (in the table tx_carousel_klassenfahrt_item”.
This is my imagine of the backend after setting: 
Thank you in advance.