Newer
Older
$ll = 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf';
$accessTab = "--div--;$ll:tabs.access, starttime, endtime, sys_language_uid, l10n_parent, l10n_diffsource, hidden";
'title' => "$ll:tx_nlmenubuilder_domain_model_menuitem",
'label' => 'title',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'versioningWS' => true,
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'delete' => 'deleted',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'searchFields' => 'title,subtitle,page,link,content',
'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem.gif',
'type' => 'type',
'typeicon_column' => 'type',
'typeicon_classes' => [
'default' => 'ext-menubuilder-menuitem-type-page',
'1' => 'ext-menubuilder-menuitem-type-link',
'2' => 'ext-menubuilder-menuitem-type-content',
'3' => 'ext-menubuilder-menuitem-type-submenu',
],
'interface' => ['showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, subtitle, image, page, link, content'],
'0' => ['showitem' => "type, title, subtitle, page, image, $accessTab"], // page
'1' => ['showitem' => "type, title, subtitle, image, link, $accessTab"], // link
'2' => ['showitem' => "type, title, content, $accessTab"], // content
'3' => ['showitem' => "type, title, submenu, $accessTab"], // submenu
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
],
'columns' => [
'sys_language_uid' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'special' => 'languages',
'items' => [
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
]
],
'default' => 0,
],
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => 0,
'items' => [
['', 0],
],
'foreign_table' => 'tx_nlmenubuilder_domain_model_menuitem',
'foreign_table_where' => 'AND {#tx_nlmenubuilder_domain_model_menuitem}.{#pid}=###CURRENT_PID### AND {#tx_nlmenubuilder_domain_model_menuitem}.{#sys_language_uid} IN (-1,0)',
],
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough',
],
],
't3ver_label' => [
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.versionLabel',
'config' => [
'type' => 'input',
'size' => 30,
'max' => 255,
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.visible',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
'items' => [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
],
],
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true
]
],
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime,int',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
],
'behaviour' => [
'allowLanguageSynchronization' => true
]
],
],
'type' => [
'exclude' => false,
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.type",
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
["$ll:tx_nlmenubuilder_domain_model_menuitem.page", 0, 'ext-menubuilder-menuitem-type-page'],
["$ll:tx_nlmenubuilder_domain_model_menuitem.link", 1, 'ext-menubuilder-menuitem-type-link'],
["$ll:tx_nlmenubuilder_domain_model_menuitem.content", 2, 'ext-menubuilder-menuitem-type-content'],
["$ll:tx_nlmenubuilder_domain_model_menuitem.submenu", 3, 'ext-menubuilder-menuitem-type-submenu'],
],
'fieldWizard' => [
'selectIcons' => [
'disabled' => false,
],
],
'size' => 1,
'maxitems' => 1,
'eval' => 'required'
],
],
'title' => [
'exclude' => false,
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.title",
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim,required'
],
],
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.subtitle",
'type' => 'input',
'size' => 30,
'eval' => 'trim'
],
],
'image' => [
'exclude' => false,
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.image",
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'foreign_types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
],
'foreign_match_fields' => [
'fieldname' => 'image',
'tablenames' => 'tx_nlmenubuilder_domain_model_menuitem',
'table_local' => 'sys_file',
],
'maxitems' => 1
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'page' => [
'exclude' => false,
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.page",
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'pages',
'maxitems' => 1,
'minitems' => 1,
'size' => 1,
'default' => 0,
'suggestOptions' => [
'default' => [
'additionalSearchFields' => 'nav_title, alias, url',
'addWhere' => 'AND pages.doktype IN (1, 3, 4)'
]
]
],
],
'link' => [
'exclude' => false,
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.link",
'config' => [
'type' => 'input',
'renderType' => 'inputLink',
'eval' => 'required',
'fieldControl' => [
'linkPopup' => [
'options' => [
'blindLinkOptions' => 'page'
],
]
]
],
],
'content' => [
'exclude' => false,
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.content",
'type' => 'inline',
'allowed' => 'tt_content',
'foreign_table' => 'tt_content',
'foreign_sortby' => 'sorting',
'minitems' => 1,
'maxitems' => 99,
'appearance' => [
'collapseAll' => true,
'expandSingle' => true,
'levelLinksPosition' => 'bottom',
'useSortable' => true,
'showPossibleLocalizationRecords' => true,
'showRemovedLocalizationRecords' => true,
'showAllLocalizationLink' => true,
'showSynchronizationLink' => true,
'enabledControls' => [
'info' => false,
]
],
],
'submenu' => [
'exclude' => true,
'label' => "$ll:tx_nlmenubuilder_domain_model_menuitem.submenu",
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'foreign_table' => 'tx_nlmenubuilder_domain_model_menu',
'size' => 10,
'autoSizeMax' => 30,
'maxitems' => 1,
'multiple' => 0,
'fieldControl' => [
'editPopup' => [
'disabled' => false,
],
'addRecord' => [
'disabled' => false,
],
'listModule' => [
'disabled' => true,
],
],
'enableMultiSelectFilterTextfield' => true,
'menu' => [
'config' => [
'type' => 'passthrough',
],
],
],
];