diff --git a/Documentation/PageTsconfig/TceForm.rst b/Documentation/PageTsconfig/TceForm.rst index 02796cc1..0e78cf09 100644 --- a/Documentation/PageTsconfig/TceForm.rst +++ b/Documentation/PageTsconfig/TceForm.rst @@ -1,10 +1,10 @@ -.. include:: /Includes.rst.txt -.. index:: - TCEFORM - Records; editing options -.. _tceform: -.. _pagetceformconfobj: -.. _pagetceformflexformsheet: +.. include:: /Includes.rst.txt +.. index:: + TCEFORM + Records; editing options +.. _tceform: +.. _pagetceformconfobj: +.. _pagetceformflexformsheet: ======= TCEFORM @@ -17,6 +17,8 @@ disable options, blind options in selector boxes etc. See the core API document section :ref:`FormEngine ` for more details on how records are rendered in the backend. +.. _tceform-apply-properties: + Applying properties =================== @@ -33,9 +35,9 @@ type, see the :ref:`TCA type section ` for details on types. While all that property path munging looks messy at first, it should become more clear when reading through the single properties below and looking at the examples. -.. youtube:: B3IQq7pIJ_o +.. youtube:: B3IQq7pIJ_o -.. _tceformApplyPropertiesFlexForm: +.. _tceformApplyPropertiesFlexForm: Applying properties to FlexForm fields -------------------------------------- @@ -43,10 +45,10 @@ Applying properties to FlexForm fields Other properties also apply to :ref:`FlexForm ` fields, in this case the full property path including the data structure key has to be set: -.. code-block:: typoscript +.. code-block:: typoscript - # TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[flexFieldName with escaped dots].[propertyName] - TCEFORM.tt_content.pi_flexform.sfregister_create.sDEF.settings\.fields\.selected.addItems.ZZZ = ZZZ + # TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[flexFieldName with escaped dots].[propertyName] + TCEFORM.tt_content.pi_flexform.sfregister_create.sDEF.settings\.fields\.selected.addItems.ZZZ = ZZZ The sheet name (sDEF) must be given only if the FlexForm has a sheet. @@ -63,224 +65,246 @@ dots ('.'), these must be escaped with backslash. Some properties apply to whole FlexForm sheets, their property path is `TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[propertyName]`. +.. _tceform-properties: + Properties ========== -.. contents:: - :depth: 2 - :local: +.. contents:: + :depth: 2 + :local: -.. index:: - Records; select items added +.. index:: + Records; select items added +.. _tceform-addItems: addItems -------- -:aspect:`Datatype` - localized string +.. confval:: addItems + :name: tceform-addItems + :type: localized string -:aspect:`Description` - Change the list of items in :ref:`TCA type=select ` fields. Using this property, - items can be added to the list. Note that the added elements might be removed if the selector represents - records: If the select box is a relation to another table. In that case only existing records - will be preserved. + Change the list of items in :ref:`TCA type=select ` fields. Using this property, + items can be added to the list. Note that the added elements might be removed if the selector represents + records: If the select box is a relation to another table. In that case only existing records + will be preserved. - The subkey :typoscript:`icon` will allow to add your own icons to new values. + The subkey :typoscript:`icon` will allow to add your own icons to new values. - .. versionadded:: 12.1 - The subkey :typoscript:`group` can be used to insert a new element into an - existing select item group by settings the value to the group identifier. - The grouping is usually displayed in select fields with groups available. + .. versionadded:: 12.1 + The subkey :typoscript:`group` can be used to insert a new element into an + existing select item group by settings the value to the group identifier. + The grouping is usually displayed in select fields with groups available. - This property is available for various levels: + This property is available for various levels: - table level, example: - `TCEFORM.tt_content.header_layout.addItems` + table level, example: + `TCEFORM.tt_content.header_layout.addItems` - table and record type level, example: - `TCEFORM.tt_content.header_layout.types.textpic.addItems` + table and record type level, example: + `TCEFORM.tt_content.header_layout.types.textpic.addItems` + + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.addItems` - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.addItems` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + .. warning:: + Do not add page types this way (using `TCEFORM.pages.doktype.addItems`), instead the proper + PHP API should be used to do this, see :ref:`Core APIs ` for details. - .. warning:: - Do not add page types this way (using `TCEFORM.pages.doktype.addItems`), instead the proper - PHP API should be used to do this, see :ref:`Core APIs ` for details. +.. _tceform-addItems-example: -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +Example: Add header layout option +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - TCEFORM.tt_content.header_layout { - # Add another header_layout option: - addItems.1525215969 = Another header layout - # Add another one with localized label, icon and group - addItems.1525216023 = LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:header_layout - addItems.1525216023.icon = EXT:my_ext/icon.png - addItems.1525216023.group = special - } +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - Instead of adding files by path, icon identifiers should be used. + TCEFORM.tt_content.header_layout { + # Add another header_layout option: + addItems.1525215969 = Another header layout + # Add another one with localized label, icon and group + addItems.1525216023 = LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:header_layout + addItems.1525216023.icon = EXT:my_ext/icon.png + addItems.1525216023.group = special + } + Instead of adding files by path, icon identifiers should be used. -.. index:: - Records; labels changed +.. index:: + Records; labels changed +.. _tceform-altLabels: altLabels --------- -:aspect:`Datatype` - localized string +.. confval:: altLabels + :name: tceform-altLabels + :type: localized string -:aspect:`Description` - This property applies to :ref:`TCA type=select `, - :ref:`TCA type=check ` and :ref:`TCA type=radio `. + This property applies to :ref:`TCA type=select `, + :ref:`TCA type=check ` and :ref:`TCA type=radio `. - This property allows you to enter alternative labels for the items in the list. For a single checkbox or radio - button, use `default`, for multiple checkboxes and radiobuttons, use an integer for their position starting at 0. + This property allows you to enter alternative labels for the items in the list. For a single checkbox or radio + button, use `default`, for multiple checkboxes and radiobuttons, use an integer for their position starting at 0. - This property is available for various levels: + This property is available for various levels: - table level: - `TCEFORM.[tableName].[fieldName].altLabels` + table level: + `TCEFORM.[tableName].[fieldName].altLabels` - table and record type level: - `TCEFORM.[tableName].[fieldName].types.[typeName].altLabels` + table and record type level: + `TCEFORM.[tableName].[fieldName].types.[typeName].altLabels` - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.altLabels` + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.altLabels` + + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. +.. _tceform-altLabels-example: -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +Example: Override labels for document types +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - TCEFORM.pages.doktype { - # Set a different item label - altLabels.1 = STANDARD Page Type - altLabels.254 = Folder (for various elements) - # Sets the default label for Recycler via "locallang": - altLabels.255 = LLL:EXT:my_ext/Resources/Private/Language/locallang_tca.xlf:recycler - } +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - .. figure:: /Images/ManualScreenshots/List/PagesDoktypeDifferentLabels.png - :alt: The Page types with modified labels + TCEFORM.pages.doktype { + # Set a different item label + altLabels.1 = STANDARD Page Type + altLabels.254 = Folder (for various elements) + # Sets the default label for Recycler via "locallang": + altLabels.255 = LLL:EXT:my_ext/Resources/Private/Language/locallang_tca.xlf:recycler + } - The Page types with modified labels +.. figure:: /Images/ManualScreenshots/List/PagesDoktypeDifferentLabels.png + :alt: The Page types with modified labels - .. note:: + The Page types with modified labels - If the item has an **empty** value, the syntax is slightly different and an additional dot must be provided, - like on this example: +.. note:: - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + If the item has an **empty** value, the syntax is slightly different and an additional dot must be provided, + like on this example: - TCEFORM.tt_content.space_before_class.altLabels.. = foo +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - Note the *double dot* after `altLabels`. + TCEFORM.tt_content.space_before_class.altLabels.. = foo -.. _page_tsconfig_id: +Note the *double dot* after `altLabels`. + +.. _tceform-page_tsconfig_id: PAGE_TSCONFIG_ID ---------------- -:aspect:`Datatype` - integer +.. confval:: PAGE_TSCONFIG_ID + :name: tceform-PAGE_TSCONFIG_ID + :type: integer + + This option allows to provide a value for dynamic SQL-WHERE parameters. The + value is defined for a specific field of a table. For usage with flexform + fields, the entire path to a sub-field must be provided. -:aspect:`Description` - This option allows to provide a value for dynamic SQL-WHERE parameters. The - value is defined for a specific field of a table. For usage with flexform - fields, the entire path to a sub-field must be provided. +.. note:: - .. note:: + This value can be used for the TCA property :ref:`foreign_table_where ` + and for the `addWhere` part of the :ref:`suggest wizard `. - This value can be used for the TCA property :ref:`foreign_table_where ` - and for the `addWhere` part of the :ref:`suggest wizard `. +.. _tceform-page_tsconfig_id-example: -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +Example: Substitute a marker in a plugin FlexForm +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myField.PAGE_TSCONFIG_ID = 22 +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - In this example, the value will substitute the marker in a plugin FlexForm. + TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myField.PAGE_TSCONFIG_ID = 22 - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +In this example, the value will substitute the marker in a plugin FlexForm. - TCEFORM.tx_myext_table.myfield.PAGE_TSCONFIG_ID = 22 +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - This example might be used for a record in an extension. It refers to a - table called `tx_myext_table` and the field `myfield`. Here the marker will - be substituted by the value `22`. + TCEFORM.tx_myext_table.myfield.PAGE_TSCONFIG_ID = 22 +This example might be used for a record in an extension. It refers to a +table called `tx_myext_table` and the field `myfield`. Here the marker will +be substituted by the value `22`. -.. _page_tsconfig_idlist: +.. _tceform-page_tsconfig_idlist: PAGE_TSCONFIG_IDLIST -------------------- -:aspect:`Datatype` - list of integers +.. confval:: PAGE_TSCONFIG_IDLIST + :name: tceform-PAGE_TSCONFIG_IDLIST + :type: list of integers -:aspect:`Description` - See above. + See above. -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. _tceform-page_tsconfig_idlist-example: - TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myField.PAGE_TSCONFIG_IDLIST = 20,21,22 +Example: Substitute a list of IDs in a plugin FlexForm +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - In this example, the value will substitute the marker in a plugin FlexForm. +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myField.PAGE_TSCONFIG_IDLIST = 20,21,22 - TCEFORM.tx_myext_table.myfield.PAGE_TSCONFIG_IDLIST = 20,21,22 +In this example, the value will substitute the marker in a plugin FlexForm. - This example might be used for a record in an extension. It refers to a - table called `tx_myext_table` and the field `myfield`. Here the marker will - be substituted by the list of integers. +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.tx_myext_table.myfield.PAGE_TSCONFIG_IDLIST = 20,21,22 -.. _page_tsconfig_str: +This example might be used for a record in an extension. It refers to a +table called `tx_myext_table` and the field `myfield`. Here the marker will +be substituted by the list of integers. + + +.. _tceform-page_tsconfig_str: PAGE_TSCONFIG_STR ----------------- -:aspect:`Datatype` - string +.. confval:: PAGE_TSCONFIG_STR + :name: tceform-PAGE_TSCONFIG_STR + :type: string + + See above. + +.. _tceform-page_tsconfig_str-example: -:aspect:`Description` - See above. +Example: Substitute a string in a plugin FlexForm +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myField.PAGE_TSCONFIG_STR = %hello% + TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myField.PAGE_TSCONFIG_STR = %hello% - In this example, the value will substitute the marker in a plugin FlexForm. +In this example, the value will substitute the marker in a plugin FlexForm. - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.tx_myext_table.myfield.PAGE_TSCONFIG_STR = %hello% + TCEFORM.tx_myext_table.myfield.PAGE_TSCONFIG_STR = %hello% - This example might be used for a record in an extension. It refers to a - table called `tx_myext_table` and the field `myfield`. Here the marker will - be substituted by the given value. +This example might be used for a record in an extension. It refers to a +table called `tx_myext_table` and the field `myfield`. Here the marker will +be substituted by the given value. .. index:: - Records; field configuration + Records; field configuration .. _pageTsConfigTceFormColorPalette: colorPalette @@ -288,606 +312,638 @@ colorPalette .. versionadded:: 13.0 -:aspect:`Datatype` - string +.. confval:: colorPalette + :name: tceform-colorPalette + :type: string -:aspect:`Description` - Assign a :ref:`color palette ` to a specific field of a - table, for all fields within a table or a global configuration affecting all - color pickers within :ref:`FormEngine `. If no palette - is defined, FormEngine falls back to all configured colors. + Assign a :ref:`color palette ` to a specific field of a + table, for all fields within a table or a global configuration affecting all + color pickers within :ref:`FormEngine `. If no palette + is defined, FormEngine falls back to all configured colors. -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:my_sitepackage/Configuration/page.tsconfig +.. _pageTsConfigTceFormColorPalette-example: + +Example: Assign a palette to a field +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: typoscript + :caption: EXT:my_sitepackage/Configuration/page.tsconfig - # Assign a palette to a specific field - TCEFORM.tx_myext_table.myfield.colorPalette = messages + # Assign a palette to a specific field + TCEFORM.tx_myext_table.myfield.colorPalette = messages - # Assign a palette to all color pickers used in a table - TCEFORM.tx_myext_table.colorPalette = key_colors + # Assign a palette to all color pickers used in a table + TCEFORM.tx_myext_table.colorPalette = key_colors - # Assign global palette - TCEFORM.colorPalette = main + # Assign global palette + TCEFORM.colorPalette = main .. index:: - Records; field configuration + Records; field configuration .. _pageTsConfigTceFormConfig: config ------ -:aspect:`Datatype` - string / array - -:aspect:`Description` - This setting allows to override TCA field configuration. This will influence configuration settings in - :php:`$GLOBALS['TCA'][]['columns'][]['config'][]`, see - :ref:`TCA reference ` for details. - - Not all configuration options can be overridden, the properties are restricted and depend on the - :ref:`field type `. The array - :code:`typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php->$allowOverrideMatrix` - within :ref:`FormEngine code ` defines details: - - .. code-block:: php - - 'input' => ['size', 'max', 'readOnly'], - 'number' => ['size', 'readOnly'], - 'email' => ['size', 'readOnly'], - 'link' => ['size', 'readOnly'], - 'password' => ['size', 'readOnly'], - 'datetime' => ['size', 'readOnly'], - 'color' => ['size', 'readOnly'], - 'uuid' => ['size', 'enableCopyToClipboard'], - 'text' => ['cols', 'rows', 'wrap', 'max', 'readOnly'], - 'json' => ['cols', 'rows', 'readOnly'], - 'check' => ['cols', 'readOnly'], - 'select' => ['size', 'autoSizeMax', 'maxitems', 'minitems', 'readOnly', 'treeConfig', 'fileFolderConfig'], - 'category' => ['size', 'maxitems', 'minitems', 'readOnly', 'treeConfig'], - 'group' => ['size', 'autoSizeMax', 'maxitems', 'minitems', 'readOnly', 'elementBrowserEntryPoints'], - 'folder' => ['size', 'autoSizeMax', 'maxitems', 'minitems', 'readOnly', 'elementBrowserEntryPoints'], - 'inline' => ['appearance', 'behaviour', 'foreign_label', 'foreign_selector', 'foreign_unique', 'maxitems', 'minitems', 'size', 'autoSizeMax', 'symmetric_label', 'readOnly'], - 'file' => ['appearance', 'behaviour', 'maxitems', 'minitems', 'readOnly'], - 'imageManipulation' => ['ratios', 'cropVariants'], - - The reason that not all properties can be changed is that - internally, the :ref:`DataHandler ` performs database - operations which require finalized :ref:`TCA ` definitions - that are accessed without this TSconfig getting interpreted. This mismatch - would then lead to inconsistencies. - - An `input` or `text` TCA field can *not* enable the - :ref:`RTE ` via the - :typoscript:`config.enableRichtext` option due to similar reasons in respect - to the DataHandler. - - Also, if for example the :typoscript:`max` definition of a field is made - larger than the TCA definition of that field, you may need to to change - the file :file:`ext_tables.sql` (see :ref:`t3coreapi:ext_tables-sql`) - to adjust column definitions, especially when using the - :ref:`Auto-generated structure `. - - The property :typoscript:`config` is available for these levels: - - table level, example: - :typoscript:`TCEFORM.tt_content.header.config.max` +.. confval:: config + :name: tceform-config + + This setting allows to override TCA field configuration. This will influence configuration settings in + :php:`$GLOBALS['TCA'][]['columns'][]['config'][]`, see + :ref:`TCA reference ` for details. + + Not all configuration options can be overridden, the properties are restricted and depend on the + :ref:`field type `. The array + :code:`typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php->$allowOverrideMatrix` + within :ref:`FormEngine code ` defines details: + + .. code-block:: php + + 'input' => ['size', 'max', 'readOnly'], + 'number' => ['size', 'readOnly'], + 'email' => ['size', 'readOnly'], + 'link' => ['size', 'readOnly'], + 'password' => ['size', 'readOnly'], + 'datetime' => ['size', 'readOnly'], + 'color' => ['size', 'readOnly'], + 'uuid' => ['size', 'enableCopyToClipboard'], + 'text' => ['cols', 'rows', 'wrap', 'max', 'readOnly'], + 'json' => ['cols', 'rows', 'readOnly'], + 'check' => ['cols', 'readOnly'], + 'select' => ['size', 'autoSizeMax', 'maxitems', 'minitems', 'readOnly', 'treeConfig', 'fileFolderConfig'], + 'category' => ['size', 'maxitems', 'minitems', 'readOnly', 'treeConfig'], + 'group' => ['size', 'autoSizeMax', 'maxitems', 'minitems', 'readOnly', 'elementBrowserEntryPoints'], + 'folder' => ['size', 'autoSizeMax', 'maxitems', 'minitems', 'readOnly', 'elementBrowserEntryPoints'], + 'inline' => ['appearance', 'behaviour', 'foreign_label', 'foreign_selector', 'foreign_unique', 'maxitems', 'minitems', 'size', 'autoSizeMax', 'symmetric_label', 'readOnly'], + 'file' => ['appearance', 'behaviour', 'maxitems', 'minitems', 'readOnly'], + 'imageManipulation' => ['ratios', 'cropVariants'], + + The reason that not all properties can be changed is that + internally, the :ref:`DataHandler ` performs database + operations which require finalized :ref:`TCA ` definitions + that are accessed without this TSconfig getting interpreted. This mismatch + would then lead to inconsistencies. + + An `input` or `text` TCA field can *not* enable the + :ref:`RTE ` via the + :typoscript:`config.enableRichtext` option due to similar reasons in respect + to the DataHandler. + + Also, if for example the :typoscript:`max` definition of a field is made + larger than the TCA definition of that field, you may need to to change + the file :file:`ext_tables.sql` (see :ref:`t3coreapi:ext_tables-sql`) + to adjust column definitions, especially when using the + :ref:`Auto-generated structure `. + + The property :typoscript:`config` is available for these levels: + + table level, example: + :typoscript:`TCEFORM.tt_content.header.config.max` + + table and record type level, example: + :typoscript:`TCEFORM.tt_content.header.types.textpic.config.max` + + Flex form field level, example: + No current TYPO3 version allows to override the configuration of + Flex form fields, even though this was previously documented here. + This may change in future versions. + + .. todo: Removed, because this is broken in every known TYPO3 version. + .. todo: Maybe re-enable this, if it gets fixed in a future release + :typoscript:`TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myInputField.config.max` + + Where :typoscript:`sDEF` is the sheet name and :typoscript:`myext_pi1` the name + of the plugin. - table and record type level, example: - :typoscript:`TCEFORM.tt_content.header.types.textpic.config.max` - - Flex form field level, example: - No current TYPO3 version allows to override the configuration of - Flex form fields, even though this was previously documented here. - This may change in future versions. - - .. todo: Removed, because this is broken in every known TYPO3 version. - .. todo: Maybe re-enable this, if it gets fixed in a future release - :typoscript:`TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.myInputField.config.max` - - Where :typoscript:`sDEF` is the sheet name and :typoscript:`myext_pi1` the name - of the plugin. - -.. index:: - Records; tree configuration -.. _pageTsConfigTceFormConfigTreeConfig: +.. index:: + Records; tree configuration +.. _pageTsConfigTceFormConfigTreeConfig: config.treeConfig ----------------- -:aspect:`Datatype` - int +.. confval:: config.treeConfig + :name: tceform-config-treeConfig + :type: int -:aspect:`Description` - The `treeConfig` sub properties of :ref:`TCEFORM.config ` are dedicated to the TCA config type - `select` with :ref:`renderType=selectTree `. A couple of - :ref:`treeConfig ` properties can be overriden on page TSconfig level, see their detailed description - in the :ref:`TCA reference `: + The `treeConfig` sub properties of :ref:`TCEFORM.config ` are dedicated to the TCA config type + `select` with :ref:`renderType=selectTree `. A couple of + :ref:`treeConfig ` properties can be overriden on page TSconfig level, see their detailed description + in the :ref:`TCA reference `: - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - config.treeConfig.startingPoints = 1,42 - config.treeConfig.appearance.expandAll = 1 - config.treeConfig.appearance.maxLevels = 2 - config.treeConfig.appearance.nonSelectableLevels = 1 + config.treeConfig.startingPoints = 1,42 + config.treeConfig.appearance.expandAll = 1 + config.treeConfig.appearance.maxLevels = 2 + config.treeConfig.appearance.nonSelectableLevels = 1 - This property is available for various levels: + This property is available for various levels: - table level, example: - `TCEFORM.tt_content.myField.config.treeConfig.startingPoints` + table level, example: + `TCEFORM.tt_content.myField.config.treeConfig.startingPoints` - table and record type level, example: - `TCEFORM.tt_content.header.types.config.treeConfig.startingPoints` + table and record type level, example: + `TCEFORM.tt_content.header.types.config.treeConfig.startingPoints` - Flex form field level, example: - No current TYPO3 version allows to override the configuration of - Flex form fields, even though this was previously documented here. - This may change in future versions. + Flex form field level, example: + No current TYPO3 version allows to override the configuration of + Flex form fields, even though this was previously documented here. + This may change in future versions. - .. todo: Removed, because this is broken in every known TYPO3 version. - .. todo: Maybe re-enable this, if it gets fixed in a future release - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.config.treeConfig.startingPoints` + .. todo: Removed, because this is broken in every known TYPO3 version. + .. todo: Maybe re-enable this, if it gets fixed in a future release + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.config.treeConfig.startingPoints` - Where `sDEF` is the sheet name and :typoscript:`myext_pi1` the name - of the plugin. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Where `sDEF` is the sheet name and :typoscript:`myext_pi1` the name + of the plugin. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. -.. index:: - Records; field description +.. index:: + Records; field description +.. _tceform-description: description ----------- -.. include:: /Images/AutomaticScreenshots/Input1.rst.txt - -:aspect:`Datatype` - string - -:aspect:`Description` - This property sets or overrides the TCA property - :ref:`TCA description `, which allows to - define a description for a TCA field, next to its label. +.. include:: /Images/AutomaticScreenshots/Input1.rst.txt - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. confval:: description + :name: tceform-description + :type: string - TCEFORM.tt_content.header.description = override description + This property sets or overrides the TCA property + :ref:`TCA description `, which allows to + define a description for a TCA field, next to its label. - As already known from other properties, this can also be configured for a - specific language. + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.tt_content.header.description = override description - TCEFORM.tt_content.header.description.de = override description for DE + As already known from other properties, this can also be configured for a + specific language. - The option can be used on a per record type basis, too. + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.tt_content.header.description.de = override description for DE - TCEFORM.tt_content.header.types.textpic.description = override description for textpic + The option can be used on a per record type basis, too. - Also referencing language labels is supported. + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.tt_content.header.types.textpic.description = override description for textpic - TCEFORM.tt_content.header.description = LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:override_description + Also referencing language labels is supported. + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig -.. index:: - Records; field disabled + TCEFORM.tt_content.header.description = LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:override_description +.. index:: + Records; field disabled +.. _tceform-disabled: disabled -------- -:aspect:`Datatype` - boolean +.. confval:: disabled + :name: tceform-disabled + :type: boolean + + If set, the field is not displayed in the backend form of the record. + However, the field can still be set by other means. For example if + this property is set: + :typoscript:`TCEFORM.tt_content.colPos.disabled = 1` the :guilabel:`Column` field + will not be displayed in the content elements form. The + content element can still be moved to another column which internally also + sets the field :sql:`colPos`. Fields with the TSconfig property + :tsconfig:`TCEFORM...disable` therefore show the same + behaviour as fields of the TCA type :ref:`passthrough `. -:aspect:`Description` - If set, the field is not displayed in the backend form of the record. - However, the field can still be set by other means. For example if - this property is set: - :typoscript:`TCEFORM.tt_content.colPos.disabled = 1` the :guilabel:`Column` field - will not be displayed in the content elements form. The - content element can still be moved to another column which internally also - sets the field :sql:`colPos`. Fields with the TSconfig property - :tsconfig:`TCEFORM.
..disable` therefore show the same - behaviour as fields of the TCA type :ref:`passthrough `. + table level, example: + `TCEFORM.tt_content.header.disabled` - table level, example: - `TCEFORM.tt_content.header.disabled` + table and record type level, example: + `TCEFORM.tt_content.header.types.textpic.disabled` - table and record type level, example: - `TCEFORM.tt_content.header.types.textpic.disabled` + Flex form sheet level. If set, the entire tab is not rendered, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.disabled` - Flex form sheet level. If set, the entire tab is not rendered, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.disabled` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.disabled` - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.disabled` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. +.. _tceform-disabled-example: -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +Example: Disable editing of the page title +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - TCEFORM.pages.title { - # The title field of the pages table is not editable - disabled = 1 - } +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.pages.title { + # The title field of the pages table is not editable + disabled = 1 + } -.. index:: - Records; select items disable "INVALID VALUE" -.. _pageFormEngineDisableNoMatchingElement: +.. index:: + Records; select items disable "INVALID VALUE" +.. _pageFormEngineDisableNoMatchingElement: disableNoMatchingValueElement ----------------------------- -:aspect:`Datatype` - boolean +.. confval:: disableNoMatchingValueElement + :name: tceform-disableNoMatchingValueElement + :type: boolean + + This property applies only to items in :ref:`TCA type=select ` fields. + 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: + + .. figure:: /Images/ManualScreenshots/List/SelectInvalidValue.png + :alt: A missing selector box value is indicated by a warning message -:aspect:`Description` - This property applies only to items in :ref:`TCA type=select ` fields. - 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: + A missing selector box value is indicated by a warning message - .. figure:: /Images/ManualScreenshots/List/SelectInvalidValue.png - :alt: A missing selector box value is indicated by a warning message + If disableNoMatchingValueElement is set, the element "INVALID VALUE" will not be added to the list. - A missing selector box value is indicated by a warning message + This property is available for various levels: - If disableNoMatchingValueElement is set, the element "INVALID VALUE" will not be added to the list. + table level, example: + `TCEFORM.tt_content.header_layout.disableNoMatchingValueElement` - This property is available for various levels: + table and record type level, example: + `TCEFORM.tt_content.header_layout.types.textpic.disableNoMatchingValueElement` - table level, example: - `TCEFORM.tt_content.header_layout.disableNoMatchingValueElement` + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.disableNoMatchingValueElement` - table and record type level, example: - `TCEFORM.tt_content.header_layout.types.textpic.disableNoMatchingValueElement` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.disableNoMatchingValueElement` +.. _pageFormEngineDisableNoMatchingElement-example: - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. +Example: Disable "INVALID VALUE ..." label +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.pages.doktype { - # "INVALID VALUE ..." label will never show up - disableNoMatchingValueElement = 1 - } + TCEFORM.pages.doktype { + # "INVALID VALUE ..." label will never show up + disableNoMatchingValueElement = 1 + } - Now the selector box will default to the first element in the selector box: +Now the selector box will default to the first element in the selector box: - .. figure:: /Images/ManualScreenshots/List/SelectNoInvalidValue.png - :alt: Instead of show a warning message the system choose the first element in the selector box +.. figure:: /Images/ManualScreenshots/List/SelectNoInvalidValue.png + :alt: Instead of show a warning message the system choose the first element in the selector box - Instead of show a warning message the system choose the first element in the selector box + Instead of show a warning message the system choose the first element in the selector box -.. index:: - Records; fileFolderConfig -.. _fileFolderConfig: +.. index:: + Records; fileFolderConfig +.. _fileFolderConfig: fileFolderConfig ---------------- -:aspect:`Datatype` - array +.. confval:: fileFolderConfig + :name: tceform-fileFolderConfig + :type: array -:aspect:`Description` - The special :ref:`fileFolder configuration options - ` - for TCA columns of type :ref:`TCA type=select ` can - be used to fill a select field with files (images / icons) from a defined - folder. + The special :ref:`fileFolder configuration options + ` + for TCA columns of type :ref:`TCA type=select ` can + be used to fill a select field with files (images / icons) from a defined + folder. - The `fileFolderConfig` TCA configuration can be overridden with page - TSconfig, allowing administrators to use different folders or different file - extensions, per site. + The `fileFolderConfig` TCA configuration can be overridden with page + TSconfig, allowing administrators to use different folders or different file + extensions, per site. - The same sub properties as in the `fileFolderConfig` TCA configuration are - available: + The same sub properties as in the `fileFolderConfig` TCA configuration are + available: - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig - - fileFolderConfig { - folder = 'EXT:styleguide/Resources/Public/Icons' - allowedExtensions = 'svg' - depth = 1 - } + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - This property is available for various levels: + fileFolderConfig { + folder = 'EXT:styleguide/Resources/Public/Icons' + allowedExtensions = 'svg' + depth = 1 + } - table level: - `TCEFORM.[tableName].[fieldName].fileFolderConfig.folder` + This property is available for various levels: - table and record type level: - `TCEFORM.[tableName].[fieldName].types.[typeName].fileFolderConfig.folder` + table level: + `TCEFORM.[tableName].[fieldName].fileFolderConfig.folder` - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.fileFolderConfig.folder` + table and record type level: + `TCEFORM.[tableName].[fieldName].types.[typeName].fileFolderConfig.folder` - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.fileFolderConfig.folder` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. -.. index:: - Records; select items user function -.. _itemsProcFunc: +.. index:: + Records; select items user function +.. _itemsProcFunc: itemsProcFunc ------------- -:aspect:`Datatype` - custom - -:aspect:`Description` - This property applies only to items in :ref:`TCA type=select ` fields. The properties of - this key is passed on to the :ref:`itemsProcFunc ` in the - parameter array by the key "TSconfig". +.. confval:: itemsProcFunc + :name: tceform-itemsProcFunc + :type: custom - This property is available for various levels: + This property applies only to items in :ref:`TCA type=select ` fields. The properties of + this key is passed on to the :ref:`itemsProcFunc ` in the + parameter array by the key "TSconfig". - table level: - `TCEFORM.[tableName].[fieldName].itemsProcFunc` + This property is available for various levels: - table and record type level: - `TCEFORM.[tableName].[fieldName].types.[typeName].itemsProcFunc` + table level: + `TCEFORM.[tableName].[fieldName].itemsProcFunc` - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.itemsProcFunc` + table and record type level: + `TCEFORM.[tableName].[fieldName].types.[typeName].itemsProcFunc` - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.itemsProcFunc` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. -.. index:: - Records; select items remove +.. index:: + Records; select items remove +.. _tceform-keepItems: keepItems --------- -:aspect:`Datatype` - list of values +.. confval:: keepItems + :name: tceform-keepItems + :type: list of values -:aspect:`Description` - Change the list of items in :ref:`TCA type=select ` fields. Using this property, - all items except those defined here are removed. + Change the list of items in :ref:`TCA type=select ` fields. Using this property, + all items except those defined here are removed. - This property is available for various levels: + This property is available for various levels: - table level, example: - `TCEFORM.tt_content.header_layout.keepItems` + table level, example: + `TCEFORM.tt_content.header_layout.keepItems` - table and record type level, example: - `TCEFORM.tt_content.header_layout.types.textpic.keepItems` + table and record type level, example: + `TCEFORM.tt_content.header_layout.types.textpic.keepItems` - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.keepItems` + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.keepItems` - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. _tceform-keepItems-example: - TCEFORM.pages.doktype { - # Show only standard and "Spacer" page types - keepItems = 1, 199 - } +Example: Show only standard and spacer pages +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig -.. index:: - Records; Field label + TCEFORM.pages.doktype { + # Show only standard and "Spacer" page types + keepItems = 1, 199 + } + +.. index:: + Records; Field label .. _tceform_label: label ----- -:aspect:`Datatype` - localized string +.. confval:: label + :name: tceform-label + :type: localized string -:aspect:`Description` - This allows you to enter alternative labels for any field. The value can be a `LLL:` reference - to a localization file, the system will then look up the selected backend user language and tries - to fetch the localized string if available. However, it is also possible to override these by - appending the language key and hard setting a value, for example `label.de = Neuer Feldname`. + This allows you to enter alternative labels for any field. The value can be a `LLL:` reference + to a localization file, the system will then look up the selected backend user language and tries + to fetch the localized string if available. However, it is also possible to override these by + appending the language key and hard setting a value, for example `label.de = Neuer Feldname`. - This property is available for various levels: + This property is available for various levels: - table level, example: - `TCEFORM.[tableName].[fieldName].label` + table level, example: + `TCEFORM.[tableName].[fieldName].label` + + table and record type level, example: + `TCEFORM.[tableName].[fieldName].types.[typeName].label` - table and record type level, example: - `TCEFORM.[tableName].[fieldName].types.[typeName].label` + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.label` - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.label` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. +.. _tceform_label-example: -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +Example: Override the label of a field +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - TCEFORM.pages.title { - label = LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:table.column - label.default = New Label - label.de = Neuer Feldname - } +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.pages.title { + label = LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:table.column + label.default = New Label + label.de = Neuer Feldname + } -.. index:: - Records; label for no matching value + +.. index:: + Records; label for no matching value +.. _tceform-noMatchingValue_label: noMatchingValue_label --------------------- -:aspect:`Datatype` - localized string +.. confval:: noMatchingValue_label + :name: tceform-noMatchingValue_label + :type: localized string + + This property applies only to items in :ref:`TCA type=select ` fields, it allows defining + a different label of the :ref:`noMatchingValue ` element. + + It is possible to use the placeholder `%s` to insert the value. If the property is set to empty, + the label will be blank. -:aspect:`Description` - This property applies only to items in :ref:`TCA type=select ` fields, it allows defining - a different label of the :ref:`noMatchingValue ` element. + This property is available for various levels: - It is possible to use the placeholder `%s` to insert the value. If the property is set to empty, - the label will be blank. + table level, example: + `TCEFORM.tt_content.header_layout.noMatchingValue_label` - This property is available for various levels: + table and record type level, example: + `TCEFORM.tt_content.header_layout.types.textpic.noMatchingValue_label` - table level, example: - `TCEFORM.tt_content.header_layout.noMatchingValue_label` + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.noMatchingValue_label` - table and record type level, example: - `TCEFORM.tt_content.header_layout.types.textpic.noMatchingValue_label` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.noMatchingValue_label` +.. _tceform-noMatchingValue_label-example: - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. +Example: Replace "INVALID VALUE ..." label with another string +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.pages.doktype { - # Different "INVALID VALUE ..." label: - noMatchingValue_label = VALUE "%s" was not available! - } + TCEFORM.pages.doktype { + # Different "INVALID VALUE ..." label: + noMatchingValue_label = VALUE "%s" was not available! + } - .. figure:: /Images/ManualScreenshots/List/SelectInvalidValueDifferentLabel.png - :alt: An invalid selector box value is indicated by a warning message +.. figure:: /Images/ManualScreenshots/List/SelectInvalidValueDifferentLabel.png + :alt: An invalid selector box value is indicated by a warning message - An invalid selector box value is indicated by a warning message + An invalid selector box value is indicated by a warning message -.. index:: - Records; select items remove +.. index:: + Records; select items remove +.. _tceform-removeItems: removeItems ----------- -:aspect:`Datatype` - list of values +.. confval:: removeItems + :name: tceform-removeItems + :type: list of values -:aspect:`Description` - Change the list of items in :ref:`TCA type=select ` fields. Using this property, - single items can be removed, leaving all others. + Change the list of items in :ref:`TCA type=select ` fields. Using this property, + single items can be removed, leaving all others. - This property is available for various levels: + This property is available for various levels: - table level, example: - `TCEFORM.tt_content.header_layout.removeItems` + table level, example: + `TCEFORM.tt_content.header_layout.removeItems` + + table and record type level, example: + `TCEFORM.tt_content.header_layout.types.textpic.removeItems` + + Flex form field level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.removeItems` - table and record type level, example: - `TCEFORM.tt_content.header_layout.types.textpic.removeItems` + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. - Flex form field level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.settings\.myfield.removeItems` +.. _tceform-removeItems-example: - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. +Example: Remove "Recycler" and "Spacer" page types +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.pages.doktype { - # Remove "Recycler" and "Spacer" page types - removeItems = 199, 255 - } + TCEFORM.pages.doktype { + # Remove "Recycler" and "Spacer" page types + removeItems = 199, 255 + } -.. index:: - FlexForm; Sheet description +.. index:: + FlexForm; Sheet description +.. _tceform-sheetDescription: sheetDescription ---------------- -:aspect:`Datatype` - localized string +.. confval:: sheetDescription + :name: tceform-sheetDescription + :type: localized string -:aspect:`Description` - Specifies a description for the sheet shown in the FlexForm. + Specifies a description for the sheet shown in the FlexForm. - This property is only available on flex form sheet level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.sheetDescription` + This property is only available on flex form sheet level, for example + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.sheetDescription`. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. -.. index:: - FlexForm; Sheet short description +.. index:: + FlexForm; Sheet short description +.. _tceform-sheetShortDescr: sheetShortDescr --------------- -:aspect:`Datatype` - localized string +.. confval:: sheetShortDescr + :name: tceform-sheetShortDescr + :type: localized string -:aspect:`Description` - Specifies a short description of the sheet used as link title in the tab-menu. + Specifies a short description of the sheet used as link title in the tab-menu. - This property is only available on flex form sheet level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.sheetShortDescription` + This property is only available on flex form sheet level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.sheetShortDescription`. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. -.. index:: - FlexForm; Sheet title +.. index:: + FlexForm; Sheet title +.. _tceform-sheetTitle: sheetTitle ---------- -:aspect:`Datatype` - localized string +.. confval:: sheetTitle + :name: tceform-sheetTitle + :type: localized string -:aspect:`Description` - Set the title of the sheet / tab in a FlexForm configuration. + Set the title of the sheet / tab in a FlexForm configuration. - This property is only available on flex form sheet level, example: - `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.sheetTitle` + This property is only available on flex form sheet level, example: + `TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF.sheetTitle`. - Where `sDEF` is the sheet name. For a description - see the section :ref:`tceformApplyPropertiesFlexForm` on this page. + Where `sDEF` is the sheet name. For a description + see the section :ref:`tceformApplyPropertiesFlexForm` on this page. -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. _tceform-sheetTitle-example: - TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF { - # Rename the first tab of the FlexForm plug-in configuration - sheetTitle = LLL:my_ext/Resource/Private/Language/locallang.xlf:tt_content.pi_flexform.myext_pi1.sDEF - } +Example: Rename the first tab of the FlexForm plugin +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig -.. index:: - Records; Suggest wizard - Suggest wizard -.. _pagetceformsuggest: + TCEFORM.tt_content.pi_flexform.myext_pi1.sDEF { + # Rename the first tab of the FlexForm plug-in configuration + sheetTitle = LLL:my_ext/Resource/Private/Language/locallang.xlf:tt_content.pi_flexform.myext_pi1.sDEF + } + +.. index:: + Records; Suggest wizard + Suggest wizard +.. _pagetceformsuggest: suggest ------- @@ -895,281 +951,315 @@ suggest Configuration of the suggest wizard that is available and often enabled for :ref:`TCA type=group ` fields. -.. figure:: /Images/ManualScreenshots/List/TcaTypeGroupSuggest.png - :alt: A configured suggest wizard +.. figure:: /Images/ManualScreenshots/List/TcaTypeGroupSuggest.png + :alt: A configured suggest wizard - A configured suggest wizard + A configured suggest wizard The properties listed below are available on various levels. A more specific setting overrides a less specific one: Configuration of all suggest wizards in all tables for all target query tables: - `TCEFORM.suggest.default` + `TCEFORM.suggest.default` Configuration of all suggest wizards in all tables looking up records from a specific target table: - `TCEFORM.suggest.[queryTable]` + `TCEFORM.suggest.[queryTable]` Configuration of one suggest wizard field in one table for all target query tables: - `TCEFORM.[tableName].[fieldName].suggest.default` + `TCEFORM.[tableName].[fieldName].suggest.default` Configuration of one suggest wizard field in one table for a specific target query table: - `TCEFORM.[tableName].[fieldName].suggest.[queryTable]` + `TCEFORM.[tableName].[fieldName].suggest.[queryTable]` Configuration of one suggest wizard field in a flex form field of one table for all target query tables: - `TCEFORM.[tableName].[fieldName].[dataStructureKey].[sheetName].[flexFieldName].suggest.default` + `TCEFORM.[tableName].[fieldName].[dataStructureKey].[sheetName].[flexFieldName].suggest.default` Configuration of one suggest wizard field in a flex form field of one table for a specific target query table: - `TCEFORM.[tableName].[fieldName].[dataStructureKey].[sheetName].[flexFieldName].suggest.[queryTable]` + `TCEFORM.[tableName].[fieldName].[dataStructureKey].[sheetName].[flexFieldName].suggest.[queryTable]` +.. index:: + Suggest wizard; Search fields additional +.. _tceform-suggest-additionalSearchFields: +suggest.additionalSearchFields +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. index:: - Suggest wizard; Search fields additional +.. confval:: suggest.additionalSearchFields + :name: tceform-suggest-additionalSearchFields + :type: string -additionalSearchFields -~~~~~~~~~~~~~~~~~~~~~~ + Comma-separated list of fields the suggest wizard should also search in. By default the wizard looks only in the + fields listed in the :ref:`label ` and :ref:`label_alt ` + of TCA :ref:`ctrl properties `. -:aspect:`Datatype` - string -:aspect:`Description` - Comma-separated list of fields the suggest wizard should also search in. By default the wizard looks only in the - fields listed in the :ref:`label ` and :ref:`label_alt ` - of TCA :ref:`ctrl properties `. +.. index:: + Suggest wizard; Where statement +.. _tceform-suggest-addWhere: +suggest.addWhere +~~~~~~~~~~~~~~~~ -.. index:: - Suggest wizard; Where statement +.. confval:: suggest.addWhere + :name: tceform-suggest-addWhere + :type: string -addWhere -~~~~~~~~ + Additional WHERE clause (with AND at the beginning). -:aspect:`Datatype` - string + Markers possible for replacement: -:aspect:`Description` - Additional WHERE clause (with AND at the beginning). + * ###THIS_UID### + * ###CURRENT_PID### + * :ref:`###PAGE_TSCONFIG_ID### ` + * :ref:`###PAGE_TSCONFIG_IDLIST### ` + * :ref:`###PAGE_TSCONFIG_STR### ` - Markers possible for replacement: +.. _tceform-suggest-addWhere-example: - * ###THIS_UID### - * ###CURRENT_PID### - * :ref:`###PAGE_TSCONFIG_ID### ` - * :ref:`###PAGE_TSCONFIG_IDLIST### ` - * :ref:`###PAGE_TSCONFIG_STR### ` +Example: limit storage_pid to the children of a certain page +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.pages.storage_pid.suggest.default { - addWhere = AND pages.pid=###PAGE_TSCONFIG_ID### - } + TCEFORM.pages.storage_pid.suggest.default { + addWhere = AND pages.pid=###PAGE_TSCONFIG_ID### + } -.. index:: - Suggest wizard; CSS class +.. index:: + Suggest wizard; CSS class +.. _tceform-suggest-cssClass: -cssClass -~~~~~~~~ +suggest.cssClass +~~~~~~~~~~~~~~~~ -:aspect:`Datatype` - string +.. confval:: suggest.cssClass + :name: tceform-suggest-cssClass + :type: string -:aspect:`Description` - Add a CSS class to every list item of the result list. + Add a CSS class to every list item of the result list. -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.suggest.pages { - # Configure 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 - } + TCEFORM.suggest.pages { + # Configure 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 + } -.. index:: - Suggest wizard; hide +.. index:: + Suggest wizard; hide +.. _tceform-suggest-hide: -hide -~~~~ +suggest.hide +~~~~~~~~~~~~ -:aspect:`Datatype` - boolean +.. confval:: suggest.hide + :name: tceform-suggest-hide + :type: boolean -:aspect:`Description` - Hide the suggest field. Works only for single fields. + Hide the suggest field. Works only for single fields. -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. _tceform-suggest-hide-example: - TCEFORM.pages.storage_pid.suggest.default { - hide = 1 - } +Example: Hide the suggest field for the storage_pid +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig -.. index:: - Suggest wizard; Characters max + TCEFORM.pages.storage_pid.suggest.default { + hide = 1 + } -maxPathTitleLength -~~~~~~~~~~~~~~~~~~ -:aspect:`Datatype` - positive integer +.. index:: + Suggest wizard; Characters max +.. _tceform-suggest-maxPathTitleLength: -:aspect:`Description` - Maximum number of characters to display when a path element is too long. +suggest.maxPathTitleLength +~~~~~~~~~~~~~~~~~~~~~~~~~~ -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. confval:: suggest.maxPathTitleLength + :name: tceform-suggest-maxPathTitleLength + :type: positive integer - TCEFORM.suggest.default { - maxPathTitleLength = 30 - } + Maximum number of characters to display when a path element is too long. -.. index:: - Suggest wizard; Characters min +.. _tceform-suggest-maxPathTitleLength-example: -minimumCharacters -~~~~~~~~~~~~~~~~~ +Example: Limit the suggest field to 30 characters +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:aspect:`Datatype` - positive integer +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig -:aspect:`Description` - Minimum number of characters needed to start the search. Works only for single fields. + TCEFORM.suggest.default { + maxPathTitleLength = 30 + } -:aspect:`Default` - 2 +.. index:: + Suggest wizard; Characters min +.. _tceform-suggest-minimumCharacters: -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +suggest.minimumCharacters +~~~~~~~~~~~~~~~~~~~~~~~~~ - TCEFORM.pages.storage_pid.suggest.default { - minimumCharacters = 3 - } +.. confval:: suggest.minimumCharacters + :name: tceform-suggest-minimumCharacters + :type: positive integer + :Default: 2 + Minimum number of characters needed to start the search. Works only for single fields. -.. index:: - Suggest wizard; pid levels +.. _tceform-suggest-minimumCharacters-example: -pidDepth -~~~~~~~~ +Example: Start the suggest search after 3 characters +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:aspect:`Datatype` - positive integer +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig -:aspect:`Description` - Expand pidList by this number of levels. Only has an effect, if pidList has a value. + TCEFORM.pages.storage_pid.suggest.default { + minimumCharacters = 3 + } -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.suggest.default { - pidList = 6,7 - pidDepth = 4 - } +.. index:: + Suggest wizard; pid levels +.. _tceform-suggest-pidDepth: -.. index:: - Suggest wizard; pid list +suggest.pidDepth +~~~~~~~~~~~~~~~~ -pidList -~~~~~~~ +.. confval:: suggest.pidDepth + :name: tceform-suggest-pidDepth + :type: positive integer -:aspect:`Datatype` - list of values + Expand pidList by this number of levels. Only has an effect, if pidList has a value. -:aspect:`Description` - Limit the search to certain pages (and their subpages). When pidList is empty all pages will be included - in the search as long as the backend user is allowed to see them. +.. _tceform-suggest-pidDepth-example: -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +Example: Set search depth for suggest field +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - TCEFORM.suggest.default { - # sets the pidList for a suggest fields in all tables - pidList = 1,2,3,45 - } +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig + TCEFORM.suggest.default { + pidList = 6,7 + pidDepth = 4 + } -.. index:: - Suggest wizard; receiver php class +.. index:: + Suggest wizard; pid list +.. _tceform-suggest-pidList: -receiverClass -~~~~~~~~~~~~~ +suggest.pidList +~~~~~~~~~~~~~~~ -:aspect:`Datatype` - PHP class name +.. confval:: suggest.pidList + :name: tceform-suggest-pidList + :type: list of values -:aspect:`Description` - PHP class alternative receiver class - the file that holds the class should be derived - from :code:`\TYPO3\CMS\Backend\Form\Element\SuggestDefaultReceiver`. + Limit the search to certain pages (and their subpages). When pidList is empty all pages will be included + in the search as long as the backend user is allowed to see them. -:aspect:`Default` - :php:`\TYPO3\CMS\Backend\Form\Element\SuggestDefaultReceiver` +.. _tceform-suggest-pidList-example: +Example: Limit suggest search to records on certain pages +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. index:: - Suggest wizard; rendering user function +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig -renderFunc -~~~~~~~~~~ + TCEFORM.suggest.default { + # sets the pidList for a suggest fields in all tables + pidList = 1,2,3,45 + } -:aspect:`Datatype` - string -:aspect:`Description` - User function to manipulate the displayed records in the result. +.. index:: + Suggest wizard; receiver php class +.. _tceform-suggest-receiverClass: +suggest.receiverClass +~~~~~~~~~~~~~~~~~~~~~ -.. index:: - Suggest wizard; Where statement +.. confval:: suggest.receiverClass + :name: tceform-suggest-receiverClass + :type: Fully Qualified PHP class name + :Default: :php:`\TYPO3\CMS\Backend\Form\Element\SuggestDefaultReceiver` -searchCondition -~~~~~~~~~~~~~~~ + PHP class alternative receiver class - the file that holds the class should be derived + from :code:`\TYPO3\CMS\Backend\Form\Element\SuggestDefaultReceiver`. -:aspect:`Datatype` - string +.. index:: + Suggest wizard; rendering user function +.. _tceform-suggest-renderFunc: + +suggest.renderFunc +~~~~~~~~~~~~~~~~~~ + +.. confval:: suggest.renderFunc + :name: tceform-suggest-renderFunc + :type: string + + User function to manipulate the displayed records in the result. + +.. index:: + Suggest wizard; Where statement +.. _tceform-suggest-searchCondition: + +suggest.searchCondition +~~~~~~~~~~~~~~~~~~~~~~~ -:aspect:`Description` - Additional WHERE clause (no AND needed to prepend). +.. confval:: + :name: tceform-suggest-searchCondition + :type: string -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig + Additional WHERE clause (no AND needed to prepend). - TCEFORM.pages.storage_pid.suggest.default { - # Configure the suggest wizard for the field "storage_pid" in table "pages" - # to search only for pages with doktype=1 - searchCondition = doktype=1 - } +.. _tceform-suggest-searchCondition-example: + +Example: Only search on pages with doktype=1 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + .. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig + + TCEFORM.pages.storage_pid.suggest.default { + # Configure the suggest wizard for the field "storage_pid" in table "pages" + # to search only for pages with doktype=1 + searchCondition = doktype=1 + } + +.. index:: + Suggest wizard; Search whole phrase +.. _tceform-suggest-searchWholePhrase: -.. index:: - Suggest wizard; Search whole phrase +suggest.searchWholePhrase +~~~~~~~~~~~~~~~~~~~~~~~~~ -searchWholePhrase -~~~~~~~~~~~~~~~~~ +.. confval:: suggest.searchWholePhrase + :name: tceform-suggest-searchWholePhrase + :type: boolean + :Default: 0 -:aspect:`Datatype` - boolean + Whether to do a `LIKE=%mystring%` (searchWholePhrase = 1) or a + `LIKE=mystring%` (to do a real find as you type). -:aspect:`Description` - Whether to do a `LIKE=%mystring%` (searchWholePhrase = 1) or a `LIKE=mystring%` (to do a real find as you type). +.. _tceform-suggest-searchWholePhrase-example: -:aspect:`Default` - 0 +Example: Search only for whole phrases +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:aspect:`Example` - .. code-block:: typoscript - :caption: EXT:site_package/Configuration/page.tsconfig +.. code-block:: typoscript + :caption: EXT:site_package/Configuration/page.tsconfig - TCEFORM.pages.storage_pid.suggest.default { - # Configure the suggest wizard for the field "storage_pid" in table "pages" to search only for whole phrases - searchWholePhrase = 1 - } + TCEFORM.pages.storage_pid.suggest.default { + # Configure the suggest wizard for the field "storage_pid" in table "pages" to search only for whole phrases + searchWholePhrase = 1 + }