From 9aa83469220372f84e01f68a628efb461259339a Mon Sep 17 00:00:00 2001 From: Lina Wolf <48202465+linawolf@users.noreply.github.com> Date: Mon, 5 Aug 2024 07:25:33 +0200 Subject: [PATCH] [TASK] Merge properties to select multiple side by side (#1143) Releases: main, 12.4 --- .../Select/MultipleSideBySide/Examples.rst | 17 ++- .../Type/Select/MultipleSideBySide/Index.rst | 14 ++- .../Select/MultipleSideBySide/Properties.rst | 57 --------- .../_Properties/_AllowNonIdValues.rst.txt | 17 +++ .../_Properties/_AuthMode.rst.txt | 34 +++++ .../_Properties/_AuthModeEnforce.rst.txt | 17 +++ .../_Properties/_AutoSizeMax.rst.txt | 17 +++ .../_Properties/_Behaviour.rst.txt | 23 ++++ .../_Properties/_DbFieldLength.rst.txt | 25 ++++ .../_Properties/_Default.rst.txt | 11 ++ .../_DisableNonMatchingValueElement.rst.txt | 12 ++ .../_Properties/_ExclusiveKeys.rst.txt | 9 ++ .../_Properties/_FieldControl.rst.txt | 11 ++ .../_FieldControl/_AddRecord.rst.txt | 85 +++++++++++++ .../_FieldControl/_EditPopup.rst.txt | 59 +++++++++ .../_FieldControl/_ResetSelection.rst.txt | 11 ++ .../_Properties/_FieldInformation.rst.txt | 4 + .../_Properties/_FieldWizard.rst.txt | 33 +++++ .../_Properties/_FileFolderConfig.rst.txt | 71 +++++++++++ .../_Properties/_ForeignTable.rst.txt | 33 +++++ .../_Properties/_ForeignTablePrefix.rst.txt | 16 +++ .../_Properties/_ForeignTableWhere.rst.txt | 68 ++++++++++ .../_Properties/_Items.rst.txt | 89 +++++++++++++ .../_Properties/_ItemsProcFunc.rst.txt | 8 ++ .../_Properties/_Maxitems.rst.txt | 8 ++ .../_Properties/_Minitems.rst.txt | 8 ++ .../_Properties/_Mm.rst.txt | 117 ++++++++++++++++++ .../_Properties/_Multiple.rst.txt | 14 +++ .../_Properties/_ReadOnly.rst.txt | 11 ++ .../_Properties/_Size.rst.txt | 11 ++ 30 files changed, 841 insertions(+), 69 deletions(-) delete mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Properties.rst create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AllowNonIdValues.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthMode.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthModeEnforce.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AutoSizeMax.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Behaviour.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DbFieldLength.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Default.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DisableNonMatchingValueElement.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ExclusiveKeys.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldInformation.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ItemsProcFunc.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Maxitems.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Minitems.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Multiple.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ReadOnly.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Size.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Examples.rst b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Examples.rst index 006ca5b7..1fe5c937 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Examples.rst +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Examples.rst @@ -1,17 +1,14 @@ -.. include:: /Includes.rst.txt - -======== -Examples -======== +:navigation-title: Examples -.. _tca_example_select_multiplesidebyside_1: +.. include:: /Includes.rst.txt -Simple side-by-side select field -================================ +.. _columns-select-rendertype-selectMultipleSideBySide-examples: -.. include:: /Images/Rst/SelectMultiplesidebyside1.rst.txt +======================================================== +Advanced examples for multiple side-by-side select boxes +======================================================== -.. include:: /CodeSnippets/SelectMultiplesidebyside1.rst.txt +See also: `tca_example_select_multiplesidebyside_1`. .. _tca_example_select_multiplesidebyside_5: diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst index d027c6c9..9bf37190 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst @@ -12,10 +12,20 @@ This page describes the :ref:`select ` type with It displays two select fields. The items can be selected from the right field. All selected items are displayed in the left field. -.. include:: /Images/Rst/SelectMultiplesidebyside1.rst.txt +.. contents:: Table of contents .. toctree:: :titlesonly: Examples - Properties + +.. _tca_example_select_multiplesidebyside_1: + +Example: Basic side-by-side select field +================================ + +.. include:: /Images/Rst/SelectMultiplesidebyside1.rst.txt + +.. include:: /CodeSnippets/SelectMultiplesidebyside1.rst.txt + +For more examples see also :ref:`columns-select-rendertype-selectMultipleSideBySide-examples`. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Properties.rst b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Properties.rst deleted file mode 100644 index 1ed67460..00000000 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Properties.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. include:: /Includes.rst.txt - -========== -Properties -========== - -Select properties -================= - -* :ref:`allowNonIdValues ` -* :ref:`authmode ` -* :ref:`authmode > enforce ` -* :ref:`default ` -* :ref:`dbFieldLength ` -* :ref:`disableNoMatchingValueElement ` -* :ref:`exclusiveKeys ` -* :ref:`fileFolderConfig ` - - * :ref:`folder ` - * :ref:`allowedExtensions ` - * :ref:`depth ` - -* :ref:`foreign_table ` -* :ref:`foreign_table_prefix ` -* :ref:`foreign_table_where ` -* :ref:`items ` -* :ref:`itemGroups ` -* :ref:`MM ` -* :ref:`multiSelectFilterItems ` - -Common properties -================= - -* :ref:`autoSizeMax ` -* :ref:`behaviour > allowLanguageSynchronization ` -* :ref:`dontRemapTablesOnCopy ` -* :ref:`fieldControl ` - - * :ref:`addRecord ` - * :ref:`editPopup ` - * :ref:`listModule ` - -* :ref:`fieldInformation ` -* :ref:`fieldWizard ` with the following options - - * :ref:`defaultLanguageDifferences ` - * :ref:`localizationStateSelector ` - * :ref:`otherLanguageContent ` - -* :ref:`itemsProcFunc ` -* :ref:`localizeReferencesAtParentLocalization ` -* :ref:`maxitems ` -* :ref:`minitems ` -* :ref:`multiple ` -* :ref:`readOnly ` -* :ref:`size ` - diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AllowNonIdValues.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AllowNonIdValues.rst.txt new file mode 100644 index 00000000..7295ddd7 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AllowNonIdValues.rst.txt @@ -0,0 +1,17 @@ +.. confval:: allowNonIdValues + :name: select-byside-allowNonIdValues + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: boolean + :Scope: Proc. + :RenderType: all + + Only useful if :confval:`select-byside-foreign-table` is enabled. + + If set, then values which are not integer ids will be allowed. May be needed + if you use itemsProcFunc or just enter additional items in the items array + to produce some string-value elements for the list. + + .. note:: + If you mix non-database relations with database relations like this, DO + NOT use integers for values and DO NOT use "\_" (underscore) in values + either! Will not work if you also use "MM" relations! diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthMode.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthMode.rst.txt new file mode 100644 index 00000000..21ae2462 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthMode.rst.txt @@ -0,0 +1,34 @@ +.. _columns-select-byside-properties-authmode: + +.. confval:: authMode + :name: select-byside-authMode + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (keyword) + :Scope: Display / Proc. + :RenderType: all + + .. versionchanged:: 12.0 + The only valid value for TCA config option :php:`authMode` is now :php:`explicitAllow`. + The values :php:`explicitDeny` and :php:`individual` are obsolete and no longer evaluated. + + Authorization mode for the selector box. The only possible option is: + + explicitAllow + All static values from the "items" array of the selector box will be added to a matrix in the backend user + configuration where a value must be explicitly selected if a user (other than admin) is allowed to use it!) + +.. rubric:: Migration: Using authMode='explicitDeny' + +The "deny list" approach for single field values has been removed, the only allowed option +for :php:`authMode` is :php:`explicitAllow`. Extensions using config value :php:`explicitDeny` +should be adapted to switch to :php:`explicitAllow` instead. The upgrade wizard +"Migrate backend groups "explicit_allowdeny" field to simplified format." that transfers +existing :sql:`be_groups` rows to the new format, **drops** any :sql:`DENY` fields and instructs +admins to not set new access rights of affected backend groups. + +.. rubric:: Migration: Using authMode='individual' + +Handling of :php:`authMode` being set to :php:`individual` has been fully dropped. +The Core provides no alternative. This has been an obscure setting ever since and there is no +direct migration. Extensions that rely on this handling need to find a substitution based on +Core hooks, Core events or other existing Core API functionality. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthModeEnforce.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthModeEnforce.rst.txt new file mode 100644 index 00000000..ef291c4b --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AuthModeEnforce.rst.txt @@ -0,0 +1,17 @@ + +.. _columns-select-byside-properties-authmode-enforce: + +.. versionchanged:: 12.0 + Handling of TCA config option :php:`authMode_enforce` has been removed. + +Migration: Using authMode_enforce='strict' + +Extensions with select fields using :php:`authMode` previously had different handling +if :php:`authMode_enforce => 'strict'` has been set: Let us say an editor accesses a record +with an :php:`authMode` field being set to a value it has no access to. With :php:`authMode_enforce` +**not** being set to :php:`strict`, the editor was still able to edit the record and set the value +to something it had access to. With :php:`authMode_enforce` being set to :php:`strict`, the editor +was not allowed to access the record. This has been streamlined: The backend interface no longer +renders those records for the editor and an "access denied" message is rendered instead. To +prevent this, a group this editor is member of needs to be adapted to allow access to this +particular value in the "Explicitly allow field values" (:sql:`explicit_allowdeny`) field. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AutoSizeMax.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AutoSizeMax.rst.txt new file mode 100644 index 00000000..de28f3e8 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_AutoSizeMax.rst.txt @@ -0,0 +1,17 @@ + +.. confval:: autoSizeMax + :name: select-byside-autoSizeMax + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: integer + :Scope: Display + + The maximum size (height) of the select field. + + The size of the select field will be automatically adjusted based on + the number of selected items. The select field will never be smaller than + the specified :confval:`size ` and never larger than + the value of `autoSizeMax`. + + .. note:: + Only has an effect if :confval:`maxitems ` is + greater than 1. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Behaviour.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Behaviour.rst.txt new file mode 100644 index 00000000..09f37ff6 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Behaviour.rst.txt @@ -0,0 +1,23 @@ +.. confval:: behaviour + :name: select-byside-behaviour + + .. confval:: allowLanguageSynchronization + :type: boolean + :name: select-byside-behaviour-allowLanguageSynchronization + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['behaviour']['allowLanguageSynchronization'] + :Scope: Proc. + :default: false + + 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 + :ref:`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 :code:`l10n_state`. + It tells the DataHandler which fields of the localization records should be kept + in sync if the underlying default or source record changes. + + .. literalinclude:: _Snippets/_AllowLanguageSynchronization.php + :caption: EXT:my_extension/Configuration/TCA/Overrides/someTable.php + diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DbFieldLength.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DbFieldLength.rst.txt new file mode 100644 index 00000000..a9233432 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DbFieldLength.rst.txt @@ -0,0 +1,25 @@ + +.. confval:: dbFieldLength + :name: select-byside-dbFieldLength + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: integer + :Default: 255 + :Scope: Proc. + + .. versionadded:: 13.0 + As TYPO3 takes care of + :ref:`generating the according database field ` + for `select` fields since TYPO3 v13, a developer can adjust the length + of the database field with this option in TCA directly. + + The TCA config option :php:`dbFieldLength` contains an integer value + that is applied to :sql:`varchar` fields (not :sql:`text`) and defines the + length of the database field. It will not be respected for fields that + resolve to an integer type. Developers who wish to optimize field length can + use :php:`dbFieldLength` for :php:`type=select` fields to increase or + decrease the default length. + +.. rubric:: Example: Increase the dbFieldLength for a select field + +.. literalinclude:: _Snippets/_DbFieldLength.php + :caption: Excerpt from EXT:my_extension/Configuration/TCA/myextension_domain_model_mytable.php diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Default.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Default.rst.txt new file mode 100644 index 00000000..601970cc --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Default.rst.txt @@ -0,0 +1,11 @@ +.. _columns-select-byside-properties-default: + +.. confval:: default + :name: select-byside-default + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string + :Scope: Display / Proc. + :RenderType: all + + Default value set if a new record is created. If empty, the first element in + the items array is selected. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DisableNonMatchingValueElement.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DisableNonMatchingValueElement.rst.txt new file mode 100644 index 00000000..1f54d405 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_DisableNonMatchingValueElement.rst.txt @@ -0,0 +1,12 @@ +.. _columns-select-byside-properties-disablenomatchingvalueelement: + +.. confval:: disableNoMatchingValueElement + :name: select-byside-disableNoMatchingValueElement + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: boolean + :Scope: Display + :RenderType: all + + If set, then no element is inserted if the current value does not match + any of the existing elements. A corresponding options is also found in Page + TSconfig. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ExclusiveKeys.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ExclusiveKeys.rst.txt new file mode 100644 index 00000000..ab6e7c4f --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ExclusiveKeys.rst.txt @@ -0,0 +1,9 @@ + +.. confval:: exclusiveKeys + :name: select-byside-exclusiveKeys + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (list of) + :Scope: Display / Proc. + + List of keys that exclude any other keys in a select box where multiple + items could be selected. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl.rst.txt new file mode 100644 index 00000000..56e5de62 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl.rst.txt @@ -0,0 +1,11 @@ +.. confval:: fieldControl + :name: select-byside-fieldControl + + .. include:: /ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt + :show-buttons: + + .. include:: /ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt + :show-buttons: + + .. include:: /ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt + :show-buttons: diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt new file mode 100644 index 00000000..2bd8abaf --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt @@ -0,0 +1,85 @@ +.. confval:: addRecord + :name: select-byside-fieldControl-addRecord + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord'] + :type: array + :Scope: fieldControl + :Types: :ref:`group ` + + Control button to directly add a related record. Leaves the current + view and opens a new form to add a new record. On 'Save and close', the + record is directly selected. + + .. note:: + The add record control is disabled by default, enable it with + :confval:`select-byside-fieldControl-addRecord-disabled`. + + .. confval:: disabled + :name: select-byside-fieldControl-addRecord-disabled + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord'] + :type: boolean + :Scope: fieldControl -> addRecord + :Default: true + + Disables the field control. Needs to be set to :php:`false` to enable the + :guilabel:`Create new` button + + .. confval:: options + :name: select-byside-fieldControl-addRecord-options + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']['options'] + + .. confval:: pid + :name: select-byside-fieldControl-addRecord-options-pid + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']['options']['pid'] + :type: string + :Scope: fieldControl -> addRecord + :Values: marker or an integer + :Default: ###CURRENT_PID### + + pid of the new record. Can be an hard pid setting, or one of these markers, + see :ref:`select foreign_table_where + `. + + Falls back to "current pid" if not set, forces pid=0 if records of this + table are only allowed on root level. + + - :code:`###CURRENT_PID###` + - :code:`###THIS_UID###` + - :code:`###SITEROOT###` + + .. confval:: title + :name: select-byside-fieldControl-addRecord-options-title + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']['options']['title'] + :type: string + :Values: string or LLL reference + :Default: LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.createNew + + Allows to set a different 'title' attribute to the popup icon. + + .. confval:: setValue + :name: select-byside-fieldControl-addRecord-options-setValue + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']['options']['setValue'] + :type: string + :Values: string + :Default: append + + Can be one of 'set', 'prepend' or 'append'. With 'set' the given selection + is substituted with the new record, 'prepend' adds the new record on top of + the list, 'append' adds it at the bottom. + +.. _tca_example_select_multiplesidebyside_1: + +.. rubric:: Example: Multiple sidebyside select field with "Add record" enabled + +.. include:: /Images/Rst/SelectMultiplesidebyside1.rst.txt + +.. include:: /CodeSnippets/SelectMultiplesidebyside1.rst.txt + +.. rubric:: Example: Select field with options + +The field controls are also used in the core. The following example is from +the table :sql:`be_groups`: + +.. include:: /Images/Rst/FileMountpoints.rst.txt + +.. include:: /CodeSnippets/FileMountpoints.rst.txt + diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt new file mode 100644 index 00000000..632aa669 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt @@ -0,0 +1,59 @@ +.. include:: /Includes.rst.txt +.. _tca_property_fieldControl_editPopup: + +========= +editPopup +========= + +.. confval:: editPopup + :name: select-byside-fieldControl-editPopup + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup'] + :type: array + :Scope: fieldControl + + The edit popup field control shows a pencil icon to edit an element directly + in a popup window. + + When a record is selected and the edit button is clicked, that record opens + in a new window for modification. + + .. note:: + The edit popup control is pre-configured, but disabled by default. + + .. confval:: disabled + :name: select-byside-fieldControl-editPopup-disabled + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup'] + :type: boolean + :Scope: fieldControl -> editPopup + :Default: true + + Disables the field control. Needs to be set to :php:`false` to enable the + :guilabel:`Create new` button + + .. confval:: options + :name: select-byside-fieldControl-editPopup-options-title + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']['options'] + + .. confval:: title + :name: select-byside-fieldControl-editPopup-options-title + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']['options']['title'] + :type: string + :Values: string or LLL reference + :Default: LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.edit + + Allows to set a different 'title' attribute to the popup icon. + + .. confval:: windowOpenParameters + :name: select-byside-fieldControl-editPopup-options-windowOpenParameters + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']['options']['windowOpenParameters'] + :type: string + :Values: string or LLL reference + :Default: height=800,width=600,status=0,menubar=0,scrollbars=1 + + Allows to set a different size of the popup, defaults + +.. rubric:: Example: Multiple side-by-side select with edit popup + +.. include:: /Images/Rst/SelectMultiplesidebyside6.rst.txt + +.. include:: /CodeSnippets/SelectMultiplesidebyside6.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt new file mode 100644 index 00000000..d426dc41 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt @@ -0,0 +1,11 @@ +.. _tca_property_fieldControl_resetSelection: + +.. confval:: resetSelection + :name: select-byside-fieldControl-resetSelection + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['resetSelection'] + :type: array + :Scope: fieldControl + :Types: :aspect:`Description` + + Render a button next to the select box to reset a changed selection to + the state before it was manipulated by the user. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldInformation.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldInformation.rst.txt new file mode 100644 index 00000000..93773014 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldInformation.rst.txt @@ -0,0 +1,4 @@ +.. confval:: fieldInformation + :name: select-byside-fieldInformation + + For details see :confval:`fieldInformation`. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt new file mode 100644 index 00000000..bda913f3 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt @@ -0,0 +1,33 @@ +.. confval:: fieldWizard + :name: select-byside-fieldWizard + + .. confval:: defaultLanguageDifferences + :name: select-byside-fieldWizard-defaultLanguageDifferences + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['defaultLanguageDifferences'] + :type: array + + For details see :confval:`fieldWizard-defaultLanguageDifferences`. + + .. confval:: localizationStateSelector + :name: select-byside-fieldWizard-localizationStateSelector + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['localizationStateSelector'] + :type: array + + For details see :confval:`fieldWizard-localizationStateSelector`. + + .. confval:: otherLanguageContent + :name: select-byside-fieldWizard-otherLanguageContent + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['otherLanguageContent'] + :type: array + + For details see :confval:`fieldWizard-otherLanguageContent`. + + .. _tca_property_fieldWizard_selectIcons: + + .. confval:: selectIcons + :name: fieldWizard-selectIcons + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['selectIcons'] + :type: array + :Scope: fieldWizard + + Render thumbnails of icons below the select drop-down. Disabled by default. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt new file mode 100644 index 00000000..3cd26d35 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt @@ -0,0 +1,71 @@ +.. _columns-select-byside-properties-filefolder: +.. _columns-select-byside-properties-fileFolderConfig: +.. _columns-select-byside-properties-fileFolderConfig.folder: + +.. confval:: fileFolderConfig + :name: select-byside-fileFolderConfig + + .. _columns-select-byside-properties-filefolder-extlist: + .. _columns-select-byside-properties-fileFolderConfig-allowedExtensions: + + .. confval:: allowedExtensions + :name: select-byside-fileFolderConfig-allowedExtensions + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fileFolderConfig']['allowedExtensions'] + :type: string + :Scope: Display / Proc. + + List of file extensions to select. If blank, all files are selected. + Specify list in lowercase. + + This configuration can be overridden by :ref:`Page + TSconfig`. + + .. _columns-select-byside-properties-filefolder-recursions: + .. _columns-select-byside-properties-fileFolderConfig-depth: + + .. confval:: depth + :name: select-byside-fileFolderConfig-depth + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fileFolderConfig']['depth'] + :type: integer + :Scope: Display / Proc. + :RenderType: all + + Depth of directory recursions. Default is 99. Specify in range from 0-99. 0 + (zero) means no recursion into subdirectories. Only useful in combination + with property :confval:`select-byside-fileFolderConfig-folder`. + + This configuration can be overridden by :ref:`Page + TSconfig`. + + + .. confval:: folder + :name: select-byside-fileFolderConfig-folder + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fileFolderConfig']['folder'] + :type: string + :Scope: Display / Proc. + + Specifying a folder from where files are added to the item array. + + Specify the folder relative to the + :php:`\TYPO3\CMS\Core\Core\Environment::getPublicPath()`. See :ref:`t3coreapi:Environment-public-path` . + Alternatively use the prefix "EXT:" to point to an extension folder. + + Files from the folder are selected recursively to the level specified by + :confval:`select-byside-fileFolderConfig-depth` + and only files of the extensions defined by + :confval:`select-byside-fileFolderConfig-allowedExtensions` + are listed in the select box. + + Only the file reference relative to the :confval:`select-byside-fileFolderConfig-folder` is stored. + + If the files are images (gif,png,jpg) they will be configured as icons + (third parameter in items array). + + This configuration can be overridden by :ref:`Page + TSconfig`. + + .. rubric:: Examples: Select SVGs recursively from a folder + + .. include:: /Images/Rst/SelectSingle7.rst.txt + + .. include:: /CodeSnippets/SelectSingle7.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt new file mode 100644 index 00000000..2667ef46 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt @@ -0,0 +1,33 @@ +.. _columns-select-byside-properties-foreign-table: + +.. confval:: foreign_table + :name: select-byside-foreign-table + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (table name) + :Scope: Proc. / Display + + The item-array will be filled with records from the table defined here. + The table must have a TCA definition. + + The uids of the chosen records will be saved in a comma separated list + by default. + + Use `property MM ` to store the values in an + intermediate MM table instead. + + .. deprecated:: 11.2 + Usage of the `foreign_table` relation with the table `sys_language` + Has been deprecated. Use TCA field type called + :ref:`language` instead. + +.. rubric:: Example: Select singe field with enabled selectIcons + +.. include:: /Images/Rst/SelectSingle12.rst.txt + +.. include:: /CodeSnippets/SelectSingle12.rst.txt + +.. rubric:: Example: Select field with foreign table via MM table + +.. include:: /Images/Rst/SelectSingle15.rst.txt + +.. include:: /CodeSnippets/SelectSingle15.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt new file mode 100644 index 00000000..fd8620c1 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt @@ -0,0 +1,16 @@ +.. _columns-select-byside-properties-foreign-table-prefix: + +.. confval:: foreign_table_prefix + :name: select-byside-foreign-table-prefix + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string or LLL reference + :Scope: Display + :RenderType: all + + Label prefix to the title of the records from the foreign-table. + +.. rubric:: Example: Select single field with foreign_prefix and foreign_where + +.. include:: /Images/Rst/SelectSingle3.rst.txt + +.. include:: /CodeSnippets/SelectSingle3.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt new file mode 100644 index 00000000..18961af8 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt @@ -0,0 +1,68 @@ +.. _columns-select-byside-properties-foreign-table-where: + +.. confval:: foreign_table_where + :name: select-byside-foreign-table-where + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (SQL WHERE) + :Scope: Proc. / Display + :RenderType: all + + The items from :confval:`select-byside-foreign-table` + are selected with this :sql:`WHERE` clause. The :sql:`WHERE` clause is effectively + appended to the existing :sql:`WHERE` clause (which contains default constraints, + such as :sql:`NOT deleted`) and must begin with :sql:`AND`. + +.. rubric:: Field quoting + +The example below uses the special field quoting syntax :php:`{#...}` around +identifiers to be as :ref:`DBAL `-compatible as possible. +Note that :php:`ORDER BY` and :php:`GROUP BY` +should NOT be quoted, since they always receive proper quoting automatically +through the API. + +Markers inside the WHERE statement + +It is possible to use markers in the WHERE clause: + +###REC\_FIELD\_[*field name*]### + Any field of the current record. + + .. note:: + The field name part of the marker is not in upper case letters. + It must match the exact case used in the database. + + So for example :sql:`sys_language_uid` must be referenced using + `###REC_FIELD_sys_language_uid###` + +###THIS\_UID### + Current element uid (zero if new). + +###CURRENT\_PID### + The current page id (pid of the record). + +###SITEROOT### + +:ref:`###PAGE\_TSCONFIG\_ID### ` + A value you can set from Page TSconfig dynamically. + +:ref:`###PAGE\_TSCONFIG\_IDLIST### ` + A value you can set from Page TSconfig dynamically. + +:ref:`###PAGE\_TSCONFIG\_STR### ` + A value you can set from Page TSconfig dynamically. + +###SITE:.### + A value from the site configuration, for example: `###SITE:mySetting.categoryPid###` or `###SITE:rootPageId###`. + +The markers are preprocessed so that the value of CURRENT\_PID and PAGE\_TSCONFIG\_ID are always integers +(default is zero), PAGE\_TSCONFIG\_IDLIST will always be a comma-separated list of integers (default is zero) +and PAGE\_TSCONFIG\_STR will be quoted before substitution (default is blank string). + +More information about markers set by Page TSconfig can be found in +the :ref:`TSconfig reference `. + +.. rubric:: Example: Select single field with foreign_prefix and foreign_where + +.. include:: /Images/Rst/SelectSingle3.rst.txt + +.. include:: /CodeSnippets/SelectSingle3.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt new file mode 100644 index 00000000..d2e3ca7d --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt @@ -0,0 +1,89 @@ +.. _columns-select-byside-properties-items: + +.. confval:: items + :name: select-byside-items + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: array + :Scope: Display / Proc. + :RenderType: all + + Contains the elements for the selector box unless the property + :php:`foreign_table` or :php:`special` has been set in which case + automated values are set in addition to any values listed in this array. + + .. versionchanged:: 13.0 + Auto-registration of New content element wizard via TCA introduced. + If your extension supports both TYPO3 v12 and v13, keep the page TSconfig + option :confval:`newContentElement.wizardItems ` + until dropping TYPO3 v12 support. + + Items registered for the field :sql:`CType` of table :sql:`tt_content` get + automatically added to the :guilabel:`New content element` wizard. Settings + from the items property can be overridden via page TSconfig + :confval:`newContentElement.wizardItems `. + + See also :ref:`Add content elements to the Content Element Wizard `. + + .. deprecated:: 12.3 + + Using the numerical indexes 0 - 4 is deprecated. Use the newly introduced + keys. + + Each element in this array is in itself an associative array. + + label (string or LLL reference) + The displayed title. + + value (integer or string) + The value stored in the database. + + * The special value `--div--` was used to insert a non-selectable + value that appears as a divider label in the selector box. It is kept + for backwards-compatible reasons. Use :ref:`item groups + ` for custom selects instead. + * Values must not contain `,` (comma) and `|` (vertical bar). If you want to use :php:`authMode`, you should + also refrain from using `:` (colon). + + icon (EXT: path or icon identifier) + Optional icon. For custom icons use a path prepended with `EXT:` to refer to an image + file found inside an extension or use an registered icon identifier. If configured on the :php:`foreign_table`, + :ref:`selicon-field` is respected. + + group (string) + The key of the :ref:`item group `. + + description (string or array) + Fifth value is an optional description text. This is only shown when the list is shown + with `renderType='selectCheckBox'`. + + .. note:: + + When having a zero as :php:`value` and the field is of type :code:`int(10)` in the database, make sure to define + the :ref:`default value ` as well in TCA: :php:`'default' => 0`. Otherwise + issues may arise, e.g. with MySQL strict mode. + +.. _tca_example_select_single_1: + +.. rubric:: Example: Simple items definition with label and value + +.. include:: /Images/Rst/SelectSingle1.rst.txt + +.. include:: /CodeSnippets/SelectSingle1.rst.txt + +.. _tca_example_select_single_4: + +.. rubric:: Example: Items definition with label, value and icon + +A more complex example could be this (includes icons): + +.. include:: /Images/Rst/SelectSingle4.rst.txt + +.. include:: /CodeSnippets/SelectSingle4.rst.txt + +.. rubric:: Example: SelectSingle field with itemGroups + +A select single field of size 6 with 3 item groups and one item without group. + +.. include:: /Images/Rst/SelectSingle17.rst.txt + +.. include:: /CodeSnippets/SelectSingle17.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ItemsProcFunc.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ItemsProcFunc.rst.txt new file mode 100644 index 00000000..bb3c15cf --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ItemsProcFunc.rst.txt @@ -0,0 +1,8 @@ +.. confval:: itemsProcFunc + :name: select-byside-itemsProcFunc + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (class->method reference) + :Scope: Display / Proc. + + PHP method which is called to fill or manipulate the items array. + See :ref:`tca_property_itemsProcFunc` about details. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Maxitems.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Maxitems.rst.txt new file mode 100644 index 00000000..fb95e89b --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Maxitems.rst.txt @@ -0,0 +1,8 @@ +.. confval:: maxitems + :name: select-byside-maxitems + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: integer > 0 + :Scope: Display / Proc. + + Maximum number of child items. Defaults to a high value. JavaScript record + validation prevents the record from being saved if the limit is not satisfied. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Minitems.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Minitems.rst.txt new file mode 100644 index 00000000..0048562c --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Minitems.rst.txt @@ -0,0 +1,8 @@ +.. confval:: minitems + :name: select-byside-minitems + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: integer > 0 + :Scope: Display + + Minimum number of child items. Defaults to 0. JavaScript record validation + prevents the record from being saved if the limit is not satisfied. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt new file mode 100644 index 00000000..d7a64dfa --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt @@ -0,0 +1,117 @@ +.. _columns-select-byside-properties-mm: + +.. versionadded:: 11.4 + TCA table column fields that define :php:`['config']['MM']` can omit the + specification of the intermediate MM table layout in + :ref:`ext_tables.sql `. The TYPO3 database + analyzer takes care of proper schema definition. + + Extensions are strongly encouraged to drop :sql:`CREATE TABLE` definitions + from the :file:`ext_tables.sql` file for those intermediate tables + referenced by TCA table columns. Dropping these definitions allows the Core + to adapt and migrate definitions if needed. + +.. confval:: MM + :name: select-byside-mm + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (table name) + :Scope: Proc. + + This value contains the name of the table in which to store a MM relation. + It is used together with + :confval:`select-byside-foreign-table`. + + The database field with a MM property only stores the number of records + in the relation. + + Please have a look into the additional information + in the :ref:`MM common property description `. + +.. _tca_example_select_single_15: + +.. rubric:: Example: Select field with foreign table via MM table + +.. include:: /Images/Rst/SelectSingle15.rst.txt + +.. include:: /CodeSnippets/SelectSingle15.rst.txt + +.. _columns-select-byside-properties-mm-match-fields: + +.. confval:: MM_match_fields + :name: select-byside-mm-match-fields + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: array + :Scope: Display / Proc. + + Array of field => value pairs to both insert and match against when + writing/reading MM relations. + + +.. confval:: MM_opposite_field + :name: select-byside-mm-opposite-field + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (field name) + :Scope: Proc. + + If you want to make a MM relation editable from the foreign side + (bidirectional) of the relation as well, you need to set + :php:`MM_opposite_field` on the foreign side to the field name on + the local side. + + For example, if the field :sql:`companies.employees` is your local side and + you want to make the same relation editable from the foreign side of the + relation in a field called :sql:`persons.employers`, you would need to set + the :php:`MM_opposite_field` value of the TCA configuration of the + :sql:`persons.employers` field to the string "employees". + + .. note:: + Bidirectional references only get registered once on the native side in + :sql:`sys_refindex`. + + +.. confval:: MM_oppositeUsage + :name: select-byside-mm-oppositeUsage + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: array + :Scope: Proc. + + In a MM bidirectional relation using + :confval:`match fields ` + the opposite side needs to know about the match fields for certain operations + (for example, when a copy is created in a + :doc:`workspace `) so that relations are carried over + with the correct information. + + :php:`MM_oppositeUsage` is an array which references which fields contain + the references to the opposite side, so that they can be queried for match + field configuration. + + +.. confval:: MM_table_where + :name: select-byside-mm-table-where + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (SQL WHERE) + :Scope: Proc. + + Additional where clause used when reading MM relations. + + Example: + + .. code-block:: text + + {#uid_local} = ###THIS_UID### + + The above example uses the special field quoting syntax :php:`{#...}` + around identifiers to be as :ref:`DBAL `-compatible as + possible. + + +.. confval:: MM_hasUidField + :name: select-byside-mm-hasUidField + + .. versionchanged:: 13.0 + This setting is obsolete. Remove all occurrences of :php:`MM_hasUidField` + from TCA. The :sql:`uid` column is added as primary key automatically, + if :php:`multiple = true` is set, otherwise a combined primary key of + fields :sql:`uid_local`, :sql:`uid_foreign` plus eventually + :sql:`tablenames` and :sql:`fieldname` is used. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Multiple.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Multiple.rst.txt new file mode 100644 index 00000000..baeaf028 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Multiple.rst.txt @@ -0,0 +1,14 @@ +.. confval:: multiple + :name: select-byside-multiple + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: boolean + :Scope: Display / Proc. + + Allows the *same item* more than once in a list. + + If used with bidirectional MM relations it must be set for both the native + and foreign field configuration. + + .. versionchanged:: 13.0 + The property :confval:`select-byside-mm-hasUidField` is + obsolete. It had to be defined previously when using `multiple`. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ReadOnly.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ReadOnly.rst.txt new file mode 100644 index 00000000..9f0dd9f1 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ReadOnly.rst.txt @@ -0,0 +1,11 @@ +.. confval:: readOnly + :name: select-byside-readOnly + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['readOnly'] + :type: boolean + :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 :ref:`DataHandler `. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Size.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Size.rst.txt new file mode 100644 index 00000000..d29f1200 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Size.rst.txt @@ -0,0 +1,11 @@ +.. _columns-select-byside-properties-size: + +.. confval:: size + :name: select-byside-size + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: integer + :Scope: Display + :Default: 1 + + If set to 1 (default), displays a select drop-down, else a + select box of given size.