textTable
This page describes the text type with the
render.
The according database field is generated automatically.
The textTable render type triggers a view called "table wizard" to manage the frontend table display in the backend. It is used for the "Table" tt_content content element.
Table of contents:
Example: Text field with renderType textTable
The ticket prices of a conference
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_conference', [
'prices' => [
'label' => 'my_extension.db:conference.prices',
'config' => [
'type' => 'text',
'renderType' => 'textTable',
'rows' => 5,
],
],
]);
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_conference',
'prices',
'',
'after:embed_code',
);
Properties of the TCA column type text, render type textTable
| Name | Type | Scope |
|---|---|---|
| boolean | Proc. | |
| string | Display / Proc. | |
| boolean | Display | |
| array | ||
| array | ||
| array | ||
| boolean | Display | |
| string | Display / Proc. | |
| integer | Display | |
| string | Display | |
| boolean | Display | |
| integer | Display | |
| boolean | Display | |
| string | Proc. | |
| string (keyword) | Display |
-
-
- Type
- boolean
- Default
- false
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['behaviour']['allowLanguageSynchronization']
- Scope
- Proc.
Allows an editor to select in a localized record whether the value is copied over from default or source language record, or if the field has an own value in the localization. If set to true and if the table supports localization and if a localized record is edited, this setting enables FieldWizard LocalizationStateSelector: Two or three radio buttons shown below the field input. The state of this is stored in a json encoded array in the database table called
l10n_. It tells the DataHandler which fields of the localization records should be kept in sync if the underlying default or source record changes.state EXT:my_extension/Configuration/TCA/Overrides/132-tx_myextension_conference-embed_code.php<?php use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; defined('TYPO3') or die(); ExtensionManagementUtility::addTCAcolumns('tx_myextension_conference', [ 'embed_code' => [ 'label' => 'my_extension.db:conference.embed_code', 'config' => [ 'type' => 'text', 'renderType' => 'codeEditor', 'format' => 'html', 'rows' => 7, 'appearance' => [ 'lineWrapping' => true, ], 'behaviour' => [ 'allowLanguageSynchronization' => true, ], 'searchable' => false, ], ], ]); ExtensionManagementUtility::addToAllTCAtypes( 'tx_myextension_conference', 'embed_code', '', 'after:description', );
-
- Type
- string
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['default']
- Scope
- Display / Proc.
Default value set if a new record is created.
-
- Type
- boolean
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['enableTabulator']
- Scope
- Display
- RenderType
- default, textTable
Enabling this allows to use tabs in a text field. This works well together with fixed-width fonts (monospace) for code editing.
Does not apply to RTE fields.
The requirements of a workshop in a fixed font
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_talk', [
'requirements' => [
'label' => 'my_extension.db:talk.requirements',
'config' => [
'type' => 'text',
'rows' => 3,
'fixedFont' => true,
'enableTabulator' => true,
'wrap' => 'off',
],
],
]);
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_talk',
'requirements',
'workshop',
'before:--div--;core.form.tabs:access',
);
-
For details see fieldControl.
-
For details see fieldInformation.
-
-
- Type
- array
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['defaultLanguageDifferences']
For details see defaultLanguageDifferences.
-
- Type
- array
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['localizationStateSelector']
For details see localizationStateSelector.
-
- Type
- array
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['otherLanguageContent']
For details see otherLanguageContent.
The requirements of a workshop in a fixed font
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_talk', [
'requirements' => [
'label' => 'my_extension.db:talk.requirements',
'config' => [
'type' => 'text',
'rows' => 3,
'fixedFont' => true,
'enableTabulator' => true,
'wrap' => 'off',
],
],
]);
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_talk',
'requirements',
'workshop',
'before:--div--;core.form.tabs:access',
);
-
- Type
- string
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['is_in']
- Scope
- Display / Proc.
- RenderType
- textTable, default
If a user-defined evaluation is used for the field (see eval), then this value will be passed as argument to the user-defined evaluation function.
Does not apply to RTE fields.
-
- Type
- integer
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['max']
- Scope
- Display
- RenderType
- textTable, default
Adds the HTML5 attribute "maxlength" to a textarea. Prevents the field from adding more than specified number of characters. This is a client side restriction, no server side length restriction is enforced.
Does not apply for RTE fields.
The short biography of a speaker
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_speaker', [
'short_bio' => [
'label' => 'my_extension.db:speaker.short_bio',
'config' => [
'type' => 'text',
'rows' => 3,
'max' => 300,
],
],
]);
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_speaker',
'short_bio',
'',
'before:--div--;my_extension.db:tab.integration',
);
-
- Type
- string
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['placeholder']
- Scope
- Display
- Types
- input
Placeholder text for the field.
-
- Type
- boolean
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['readOnly']
- Scope
- Display
Renders the field in a way that the user can see the value but cannot edit it.
Warning
This property affects only the display. It is still possible to write to those fields when using the DataHandler.
-
- Type
- integer
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['rows']
- Scope
- Display
- RenderType
- textTable, codeEditor, default
The number of rows in the textarea. May be corrected for harmonization between browsers. Will also automatically be increased if the content in the field is found to be of a certain length, thus the field will automatically fit the content. Default is 5. Max value is 20.
Does not apply to RTE fields.
The abstract of a talk
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_conference', [
'prices' => [
'label' => 'my_extension.db:conference.prices',
'config' => [
'type' => 'text',
'renderType' => 'textTable',
'rows' => 5,
],
],
]);
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_conference',
'prices',
'',
'after:embed_code',
);
Changed in version 14.0 Breaking: #106976 - Removal of TCA search field configuration options
The following TCA field level search configuration options have been removed:
search.case search.pidonly search.and Where
They have not been supported by the Core or common Extensions.
-
- Type
- boolean
- Default
true- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['searchable']
- Scope
- Display
New in version 14.0
TYPO3 now automatically includes all fields of suitable types in backend search operations in the Content > Records module.
This option can be used to explicitly exclude fields from being searchable, instead of having to list them in the now removed option $GLOBALS['TCA'][$table]['ctrl']['searchFields'].
By default, all fields of type
textwith rendertypetableare considered searchable.To exclude a field from being searchable, set the following in the field's TCA configuration:
EXT:my_extension/Configuration/TCA/Overrides/132-tx_myextension_conference-embed_code.php<?php use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; defined('TYPO3') or die(); ExtensionManagementUtility::addTCAcolumns('tx_myextension_conference', [ 'embed_code' => [ 'label' => 'my_extension.db:conference.embed_code', 'config' => [ 'type' => 'text', 'renderType' => 'codeEditor', 'format' => 'html', 'rows' => 7, 'appearance' => [ 'lineWrapping' => true, ], 'behaviour' => [ 'allowLanguageSynchronization' => true, ], 'searchable' => false, ], ], ]); ExtensionManagementUtility::addToAllTCAtypes( 'tx_myextension_conference', 'embed_code', '', 'after:description', );
-
- Type
- string
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['softref']
- Scope
- Proc.
- Types
- input
Used to attach "soft reference parsers".
The syntax for this value is key1,key2[parameter1;parameter2;...],...
See Soft references of core API for more details about softref keys.
-
- Type
- string (keyword)
- TCA path
- $GLOBALS['TCA'][$table]['columns'][$field]['config']['wrap']
- Scope
- Display
- RenderType
- textTable, default
Determines the wrapping of the textarea field. Does not apply to RTE fields. There are two options:
- virtual (default)
- The textarea automatically wraps the lines like it would be expected for editing a text.
- off
- The textarea will not wrap the lines as you would expect when editing some kind of code.
The requirements of a workshop without wrapping
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
ExtensionManagementUtility::addTCAcolumns('tx_myextension_talk', [
'requirements' => [
'label' => 'my_extension.db:talk.requirements',
'config' => [
'type' => 'text',
'rows' => 3,
'fixedFont' => true,
'enableTabulator' => true,
'wrap' => 'off',
],
],
]);
ExtensionManagementUtility::addToAllTCAtypes(
'tx_myextension_talk',
'requirements',
'workshop',
'before:--div--;core.form.tabs:access',
);
'wrap' => 'virtual',