.. include:: /Includes.rst.txt .. _feature-106972-1750856721: ============================================== Feature: #106972 - Configure searchable fields ============================================== See :issue:`106972` Description =========== TYPO3 now automatically includes all fields of suitable types in backend search operations, e.g., in the List module. This eliminates the need for the previously used TCA `ctrl` option :php:`searchFields`, which has been :ref:`removed `. Instead, a new per-field configuration option :php:`searchable` has been introduced. It allows integrators to fine-tune whether a specific field should be included in backend search queries. By default, all fields of supported types are considered searchable. To exclude a field from being searchable, set the following in the field’s TCA configuration: .. code-block:: php 'my_field' => [ 'config' => [ 'type' => 'input', 'searchable' => false, ], ], Note that until :php:`searchFields` is manually removed from your TCA, the automatic TCA migration sets all suitable fields, which are not included in the :php:`searchFields` configuration, to :php:`searchable => false` to keep current behavior. Supported Field Types ---------------------- The following TCA field types support the :php:`searchable` option and are automatically considered in searches unless explicitly excluded: * :php:`color` * :php:`datetime` (when not using a custom :php:`dbType`) * :php:`email` * :php:`flex` * :php:`input` * :php:`json` * :php:`link` * :php:`slug` * :php:`text` * :php:`uuid` Unsupported field types such as :php:`file`, :php:`inline`, :php:`password` or :php:`group` are excluded from search and do not support the :php:`searchable` option. Impact ====== * Backend search becomes more consistent and automatic. * No need to manually maintain a :php:`searchFields` list in TCA. * Integrators have more granular control over search behavior on a field level. * Custom fields can easily be excluded from search using the :php:`searchable` option. Migration ========= If your extension previously relied on the :php:`searchFields` TCA option, remove it from the :php:`ctrl` section and instead define :php:`'searchable' => false` on fields that should be excluded from search results. No action is needed if the default behavior (search all suitable fields) is acceptable. Example ======= .. code-block:: php return [ 'columns' => [ 'title' => [ 'config' => [ 'type' => 'input', 'searchable' => true, // optional, true by default ], ], 'notes' => [ 'config' => [ 'type' => 'text', 'searchable' => false, // explicitly excluded ], ], ], ]; .. index:: TCA, ext:core