TSconfig
NOT RENDERED: OFFICE:FORMS
About this document| ->ADMPANEL | Options regarding the front-end admin panel | ||
| ->OPTIONS | |||
| (see ->MOD of Page TSconfig) | |||
| ->SETUP | Notice: | ||
| string | Example: | ||
| auth.BE.redirectToURL | |||
| all page TSconfig properties | Example: | ||
| [object] | Used to enable the various parts of the panel for users. All values are 0/1 booleans. General: .all: enables all modules Modules: | ||
| boolean | |||
| [object] | Note: Full reference: name="TSFE_ADMIN_PANEL[tsdebug_displayTimes]" Most common options | ||
| [object] | DEPRECATED, use override.* instead (see above). Forces edit-panels to appear regardless of the selectorbox. Forces edit-icons to appear regardless of the selectorbox. Forces edit-forms to open in same window - not pop up window. Example, that forces the display of the edit icons without displaying the admin-panel itself: enable.edit = 1 module.edit.forceDisplayFieldIcons = 1 } |
| boolean | This options prevents the root to be mounted for an admin user. | ||
| [list of keywords] | |||
| boolean | |||
| boolean | |||
| boolean | |||
| string | Examples: | ||
| boolean | |||
| int (0-20) | |||
| boolean | |||
| boolean | |||
| enableBookmarks | boolean | ||
| shortcutFrame | |||
| Array of integers/ strings | Example: 1=1 2=My Group 3=0 4= } | ||
| Array of integers/ strings | Example: 2=My Group 3=0 4= } | ||
| boolean | |||
| boolean | |||
| boolean | Note: This option is deprecated since TYPO3 4.5. | ||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean / "top" | Example: options.saveDocNew.tt_content = top | ||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean / "titlelink" | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| list of integers | options.pageTree.altElementBrowserMountPoints = 34,123 | ||
| list of foldernames | |||
| int | |||
| boolean | |||
| list of items | |||
| boolean | |||
| int, 1-100 | |||
| boolean | |||
| string | Example: | ||
| boolean | |||
| bitmask | |||
| integer | |||
| list of record ids | Example: | ||
| integer | |||
| string | |||
| string | |||
| boolean | |||
| list of sys_language ids | |||
| list of sys_language ids | |||
| boolean | |||
| list of sys_language ids | Example: | ||
| list of keywords | |||
| list of keywords | |||
| list of keywords |
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| int+ | |||
| boolean | |||
| boolean | |||
| boolean | |||
| string | |||
| int+ | |||
| boolean | |||
| language-key | |||
| int+ | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| string | |||
| boolean / string | Value "icons": | ||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| int+ | |||
| boolean | |||
| boolean |
| boolean | Example: setup.fields.emailMeAtLogin.disabled = 1 Example: |
| ->MOD | Notice that these options are merged with settings from User TSconfig (TLO: mod) which takes precedence. | ||
| ->RTE | |||
| ->TCEMAIN | |||
| ->TCEFORM | |||
| ->TSFE | |||
| Web > Page module Option tags: <select name="SET[function]"> <option value="1">Columns</option> <option value="0">QuickEdit</option> <option value="2">Languages</option> <option value="3">Page information</option> <option value="4">Grid-View</option> Example: # Disables all items except the "QuickEdit" item: mod.web_layout.menu.function { 1 = 0 2 = 0 3 = 0 4 = 0 } | |
| Web > Info module Option tags: <select name="SET[function]"> <option value="tx_cms_webinfo_page">Pagetree Overview</option> <option value="tx_cms_webinfo_lang">Localization Overview</option> <option value="tx_belog_webinfo">Log</option> <option value="tx_infopagetsconfig_webinfo">Page TSconfig</option> <option value="tx_linkvalidator_ModFuncReport">Linkvalidator</option> <option value="tx_realurl_modfunc1">Speaking Url Management</option> <option value="tx_indexedsearch_modfunc1">Indexed search</option> <option value="tx_indexedsearch_modfunc2">Indexed search statistics</option> Note: The Module "Speaking Url Management" is provided by the extension RealURL, which is not part of the TYPO3 Core. Example: # Disables the item "Indexed search statistics": mod.web_info.menu.function { tx_indexedsearch_modfunc2 = 0 } | |
| Web > Functions module Option tags: | |
| Web > Functions module, Wizards sub module This is the 2nd-level Function Menu in the Web > Functions module. Instead of the "function" key of the main menu it just uses the key "wiz" instead. Option tags: Example: | |
| Web > Template module Option tags: | |
| User > Task Center Keys are: Example: Set this as User TSconfig: } |
| Description: | |
|---|---|
| User > Task Center taskcenter { <extension-key>.<task-class> = 0 } Example: # Task Center configuration: # Disable "Action": sys_action.tx_sysaction_task = 0 # Disable "Import/Export": impexp.tx_impexp_task = 0 } |
| (list of integers, blank = don't do anything.) | Example: | ||
| string | |||
| string | Example: mod.SHARED { defaultLanguageFlag = de defaultLanguageLabel = deutsch } Note: | ||
| string |
| (list of integers, blank = don't do anything.) | Example: | ||
| list of field names from tt_content table | Example: } | ||
| int+ | Example: } | ||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| boolean | |||
| string | |||
| boolean | |||
| boolean |
| boolean | Example: mod.web_list { noCreateRecordsLink = 1 } | ||
| boolean | Example: mod.web_list { alternateBgColors = 1 } | ||
| boolean | |||
| boolean | Example: mod.web_list { listOnlyInSingleTableView = 1 } | ||
| int+ | |||
| int+ | |||
| string | |||
| list of table names | |||
| boolean | Example: mod.web_list.table.tt_content.hideTable = 1 | ||
| list of table names | Example: mod.web_list { allowedNewTables = pages, tt_news } | ||
| list of table names | Example: mod.web_list { deniedNewTables = tt_news,tt_content } | ||
| boolean | |||
| boolean | |||
| list of keywords | |||
| list of keywords | |||
| list of keywords | |||
| string | |||
| string |
| int+ | Example: By this configuration frontend pages will be shown with "index.php?id=123&type=1" from the Web > View module: mod.web_view { type = 1 } |
| list of values | Define an alternate order for the groups of records in the new records wizard. Pages and content elements will always be on top, but the order of other record groups can be changed.
Records are grouped by extension keys, plus the special key "system" for records provided by the TYPO3 Core.
Example:
mod.wizards.newRecord.order = tt_news
This places the tt_news group at the top (after pages and content elements). The other groups follow unchanged:
![]() |

Tools > Extension Manager (mod.tools_em)
| boolean | Example: |
| boolean | Example: disableDocSelector = 1 disableCacheSelector = 1 } | ||
| boolean | See example above. Note: As of TYPO3 4.2 this menu does not exist anymore. |
| Maximum number of entries in the sys_history for this table. Range 0-200. Zero turns the history off. Example: TCEMAIN { # Default for all tables is 10 entries: default.history.keepEntries = 10 # But the Content Elements will have 20 levels: table.tt_content.history.keepEntries = 20 } Note: This option has been removed in TYPO3 4.0. | ||
| The number of days elements are in the history at most. Takes precedence over keepEntries. Default is 7 days. Range 0-200. Zero turns the magAgeDays off. | ||
| Disables the "prependAtCopy" feature (if configured for the table in $TCA). (The word "prepend" is misguiding - the "(copy)" label is appended to (put after) the record title! Sorry for that mistake, it isn't the only time I have made that.) Example: TCEMAIN.table.pages { # Pages will NOT have "(copy)" appended: disablePrependAtCopy = 1 # Pages will NOT be hidden upon copy: disableHideAtCopy = 1 } | ||
| Disables the "hideAtCopy" feature (if configured for the table in $TCA). For an example, see "disablePrependAtCopy" above. |
| These objects contain additional configuration of the TCEFORM interface. For the properties available, refer to the table below. This is a description of how you can customize in general and override for specific types. TCEFORM.[tablename].[field] - configures the field in TCEFORM for all types. TCEFORM.[tablename].[field].types.[type] - configures the field in TCEFORM in case the 'type'-value of the field matches type. | ||
| This setting allows to override TCA field configuration and offers a flexible opportunity to reuse tables and TCA definitions but adapt them to individual demands. So this will influence configuration settings in $TCA[<tablename>]['columns'][<field>]['config'][<key>]. Depending on the $TCA type of the field, the allowed keys are: | ||
Configuration for the "suggest" wizard.
![]() Each level of the configuration overwrites the values of the level below it: suggest.default: Configuration for all suggest wizards in all tables suggest.[queryTable]: Configuration for all suggest wizards from all tables listing records from table [queryTable] [tablename].[field].suggest.default Configuration for the suggest wizard for field [field] in table [tablename] [tablename].[field].suggest.[queryTable] Configuration for the suggest wizard for field [field] in table [tablename] listing records from [queryTable] | ||
| Configuration for the data structure of a sheet with type "flex". The [dataStructKey] represents the key of a FlexForm in $TCA[<tablename>]['columns'][<field>]['config']['ds']. This key will be split into up to two parts. By default the first part will be used as identifier of the FlexForm in TSconfig. The second part will override the identifier if it is not empty, "list" or "*". For example the identifier of the key "my_ext_pi1,list" will be "my_ext_pi1" and of the key "*,my_CType" it will be "my_CType". TCEFORM.[tablename].[field].[dataStructKey].[flexSheet] configures a whole FlexForm sheet. | ||
| Configuration for the data structure of a field with type "flex". TCEFORM.[tablename].[field].[dataStructKey].[flexSheet].[flexField] configures a single FlexForm field. Only these TCEFORM_confObj options are available for FlexForm fields: - disabled - label - keepItems - removeItems - addItems - altLabels Example: TCEFORM.tt_content.pi_flexform.my_ext_pi1.sDEF.myField { # Remove disabled = 1 # Rename label = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF.myField # Remove all items from select but these ones keepItems = item1,item2,item3 # Remove items from select removeItems = item1,item2,item3 # Add new items to select addItems { item1 = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF.myField.item1 item2 = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF.myField.item2 item3 = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF.myField.item3 } # Rename existing items altLabels { item1 = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF.myField.item1 item2 = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF.myField.item2 item3 = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF.myField.item3 } } | ||
| This setting allows to override FlexForm field configuration. Depending on the $TCA type of the field, the allowed keys are: - input: size, max - text: cols, rows, wrap - check: cols, showIfRTE - select: size, autoSizeMax, maxitems, minitems - group: size, autoSizeMax, max_size, show_thumbs, maxitems, minitems, disable_controls |
| Example: # You cannot edit the Page title field now: disabled = 1 } | ||
| Example: TCEFORM.pages.title { label = LLL:EXT:my_ext/locallang_db.xml:table.column label.default = New Label label.de = Neuer Feldname } | ||
| (applies to select-types only) This keeps in the list only the items defined here. All others are removed. Example: TCEFORM.pages.doktype { # Show only standard and "Spacer" page types keepItems = 1,199 } | ||
| (applies to select-types only) Example: TCEFORM.pages.doktype { # Remove the "Recycler" and "Spacer" page type options: removeItems = 199, 255 } | ||
(applies to select-types only)
This will add elements to the list. Notice that the added elements might be removed if the selector represents records. In that case only still existing records will be preserved.
Example:
TCEFORM.pages.doktype {
# Creates a new page type option:
addItems.123 = New Page type!
# Creates yet a page type with "locallang" title:
addItems.124 = LLL:EXT:lang/locallang_tca.php:title
}
This example extends the options for Page types with two new items:
![]() Warning: This example shows the principle of adding adhoc-items to a selector box in TYPO3, but you should not add new page types or Content Element types this way! | ||
(applies to select-types only)
If a selector box value is not available among the options in the box, the default behavior of TYPO3 is to preserve the value and to show a label which warns about this special state:
![]() If disableNoMatchingValueElement is set, the element "INVALID VALUE" will not be added to the list. Example: # "INVALID VALUE ..." label will never show up: disableNoMatchingValueElement = 1 } Now the selector box will default to the first element in the selector box: ![]() | ||
| (applies to select-types only) Allows for an alternative label of the "noMatchingValue" element. You can insert the placeholder "%s" to insert the value. If you supply a blank value the label will be blank. Example: TCEFORM.pages.doktype { # Alternative "INVALID VALUE ..." label: noMatchingValue_label = VALUE "%s" was not available! } | ||
(applies to select-types only)
This allows you to enter alternative labels for the items in the list.
Example:
# Setting alternative labels:
altLabels.1 = STANDARD Page Type
altLabels.254 = Folder (for various elements)
# Sets the default label for Recycler via "locallang":
altLabels.255 = LLL:EXT:lang/locallang_tca.php:doktype.I.2
}
Result will be:
![]() | ||
| (applies to select-types with foreign table) When the select-types are used with foreign-table the where-query has four markers (see description of $TCA in the "Inside TYPO3" document.) The value of three of these markers may be set from Page TSconfig. | ||
| (applies to select-types with foreign table) | ||
| (applies to select-types with foreign table) | ||
| (applies to select-types with itemsProcFunc) | ||
| (applies for RTE text fields only with the RTE wizard configured) | ||
| (all fields) If set, then the title of the field in the forms links to alt_doc.php editing ONLY that field. Works for existing records only - not for new records. Example: # The label for the "title" field will link itself linkTitleToSelf = 1 } |
| boolean | Example: TCEFORM.tt_content.pi_flexform.my_ext_pi1.sDEF { # The tab with key "sDEF" of the FlexForm plug-in configuration is now hidden disabled = 1 } | ||
| string / getText | Example: TCEFORM.tt_content.pi_flexform.my_ext_pi1.sDEF { # Rename the first tab of the FlexForm plug-in configuration title = LLL:fileadmin/locallang.xml:tt_content.pi_flexform.my_ext_pi1.sDEF } |
| list of values | Example: # sets the pidList for a suggest fields in all tables pidList = 1,2,3,45 } | ||
| int+ | Example: pidList = 6,7 pidDepth = 4 } | ||
| int+ | Example: minimumCharacters = 3 } | ||
| int+ | Example: TCEFORM.suggest.default { maxPathTitleLength = 30 } | ||
| boolean | Example: TCEFORM.pages.storage_pid.suggest.default { # configures the suggest wizard for the field "storage_pid" in table "pages" to search only for whole phrases searchWholePhrase = 1 } | ||
| string | Example: TCEFORM.pages.storage_pid.suggest.default { # configures the suggest wizard for the field "storage_pid" in table "pages" to search only for pages with doktype=1 searchCondition = doktype=1 } | ||
| string | Example: TCEFORM.suggest.pages { # configures all suggest wizards which list records from table "pages" to add the css-class "pages" to every list item of the result list. cssClass = pages } | ||
| string | |||
| string | |||
| boolean | Example: TCEFORM.pages.storage_pid.suggest.default { hide = 1 } |
| boolean | If set, the jumpUrl redirection to the URL will be prepended with a parameter that transfers the current fe_users session to that URL. This URL should be the TYPO3 frontend in the same database, just at another domain (else it makes no sense). You can implement it in your own links if you like. This is how you do: You must send the parameter 'FE_SESSION_KEY' as GET or POST. The parameter looks like this: [fe_user-session-id]-[a hash made to prevent misuse] The parameter can be calculated like this: $param = '&FE_SESSION_KEY=' . rawurlencode( md5( ) ); | ||
| [TypoScript Frontend Constants defaults] | Defaults for TypoScript Template constants!
This feature allows you to pass some amount of information (in the form of TypoScript Template constants) to the frontend.
The specific use of this should be information which you want to configure for both frontend and backend. For instance you could have a backend module which should act in a certain way depending on in which branch of the page tree it operates. The change of behavior is set by Page TSconfig as always, but since you need the same setting applied somewhere in the frontend you don't want the redundancy of specifying the value twice. In such a case you can use this feature.
Example:
In the TypoScript templates you can now insert this constant as {$websiteConfig.id}
![]() In the backend module (in the Web main module) you can reach the value by a few lines of code like these: $PageTSconfig = t3lib_BEfunc::getPagesTSconfig($this->pObj->id); $websiteID = $PageTSconfig['TSFE.']['constants.']['websiteConfig.']['id']; Notice: In the frontend the setting of default constants will only apply to a branch of the tree if a template record is found on that page (or if a template record is set for "next level"). In other words: If you want the Page TSconfig constant defaults to affect only a certain branch of the page tree, make sure to create a template record (a blank one will do) on the page that carries the Page TSconfig information. |








