03d02ad8d95267003591d24edb71eb1f1c43629d
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Important-78383-TCAStreamlineFieldPositionsInTabsForRecurringFields.rst
1 .. include:: ../../Includes.txt
2
3 ================================================================================
4 Important: #78383 - TCA: Streamline field positions in tabs for recurring fields
5 ================================================================================
6
7 See :issue:`78383`
8
9 Description
10 ===========
11
12 In TYPO3 there are some recurring field definitions shared by a lot of records.
13 These fields are mostly defined in :php:`$GLOBALS['TCA']['<mytable>']['crtl']`.
14 Furthermore the generic categories are taken into account.
15
16 These fields are used by core records and third party extensions.
17
18 These fields should have a generic position in the edit form (`EditDocumentController` / `FormEngine`) to allow the
19 editor or integrator to have a valid guess where to look for a common option. Furthermore the fields should be placed
20 in the given order in the certain tab.
21
22 There should be no records not using tabs to group fields.
23
24 See the documentation for the definition of the recurring fields:
25
26     * crtl_
27     * categories_
28
29 .. _crtl: https://docs.typo3.org/typo3cms/TCAReference/Reference/Ctrl/Index.html
30 .. _categories: https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Categories/Index.html
31
32
33 **Legend**
34
35 For the fields name in "Generic fields" the actual value of
36 :php:`$GLOBALS['TCA']['<mytable>']['crtl']['<generic field>']` should be set in
37 :php:`$GLOBALS['TCA']['<mytable>']['types'][<mytype>]['showitem']`.
38
39
40 General (first tab)
41 -------------------
42
43 Label:
44     `LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general`
45 Generic fields:
46     * `type` (if theres is a field that is not set as type in crtl, but have a similar meaning, set it to the first
47       position)
48     * `label`
49     * `label_alt` (if the fields are directly related to the label; especially if `label_alt_force` is set `true`)
50 Additional fields:
51     Fields that reflect the main focus of an editor or integrator working with the record.
52
53 Following tabs
54 --------------
55
56 The following tabs should be defined by the specific record. They should have speaking names. Avoid unspecific
57 labelling (for example options, settings, extended, miscellaneous) as those labels do not guide the editor.
58
59 Language
60 --------
61
62 Label:
63     `LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language`
64 Generic fields:
65     * `languageField`
66     * `transOrigPointerField`
67 Additional fields:
68     Other fields that affects the language or translation handling.
69
70 Access
71 ------
72 Label:
73     `LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access`
74 Generic fields:
75     * `enablecolumns`
76     * `disabled`
77     * `starttime` (Use a palette for starttime and endtime)
78     * `endtime`
79     * `fe_group`
80     * `fe_admin_lock`
81     * `editlock`
82 Additional fields:
83     Other fields that affects the access handling in FE or BE.
84
85 Categories
86 ----------
87
88 Label:
89     `LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories`
90 Generic fields:
91     Field that is defined by :php:`\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable`
92     It is not recommended to use the configuration option `defaultCategorizedTables` to make a table categorizable as
93     the tab position might not be consistent.
94 Additional fields:
95     Other fields that are category related (e.g. select main category)
96
97 Notes
98 -----
99
100 Label:
101     `LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes`
102 Generic fields:
103     `descriptionColumn`
104 Additional fields:
105     Other fields for internal remarks of editors or integrators.
106     These fields should not affect the website frontend.
107
108 Extended
109 --------
110
111 Label:
112     `LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended`
113 Generic fields:
114     No.
115 Additional fields:
116     No.
117     There should be no additional field in this tab as the labelling is too generic to provide a good ux.
118     It should be only added to prevent that accidentally added fields from third party extensions are placed in last
119     tab.
120
121 .. index:: TCA, Backend, LocalConfiguration