---
title: "[finishersDefinition]"
manual: "Form"
version: "14.3"
permalink: "https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition@14.3"
source: "I/Config/proto/finishersDefinition/Index.rst"
rendered: "2026-09-19T11:59:02+00:00"
---

# \[finishersDefinition\] {#prototypes-prototypeidentifier-finishersdefinition}

## Properties {#prototypes-prototypeidentifier-finishersdefinition-properties}

### \[finishersDefinition\] {#prototypes-prototypeidentifier-finishersdefinition-properties-finishersdefinition}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition

-   ***Data type***

    array

-   ***Needed by***

    Frontend/ Backend (form editor)

-   ***Mandatory***

    Yes

-   ***Default value***

    ```yaml
    prototypes:
      <prototypeIdentifier>:
        finishersDefinition:
          [...]
    ```

-   ***Good to know***

    -   ["Custom finisher implementations"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-customfinisherimplementations@14.3)

-   ***Description***

    Array which defines the available finishers. Every key within this array is called the `<finisherIdentifier>`.

### \<finisherIdentifier> {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersdefinition.\<finisherIdentifier>

-   ***Data type***

    string

-   ***Needed by***

    Frontend/ Backend (form editor)

-   ***Mandatory***

    Yes

-   ***Default value (for prototype 'standard')***

    ```yaml
    prototypes:
      standard:
        Closure:
          [...]
        Confirmation:
          [...]
        EmailToSender:
          [...]
        EmailToReceiver:
          [...]
        DeleteUploads:
          [...]
        FlashMessage:
          [...]
        Redirect:
          [...]
        SaveToDatabase:
          [...]
    ```

-   ***Related options***

    -   ["prototypes.prototypeIdentifier.formElementsDefinition.formelementtypeidentifier.formEditor.propertyCollections.finishers.\[\*\].identifier"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-formelementsdefinition-formelementtypeidentifier-formeditor-propertycollections-finishers-identifier@14.3)
    -   ["\[FinishersEditor\] selectOptions.\[\*\].value"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-formelementsdefinition-formelementtypeidentifier-formeditor-editors-selectoptions-value-finisherseditor@14.3)

-   ***Good to know***

    -   ["Custom finisher implementations"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-customfinisherimplementations@14.3)

-   ***Description***

    This array key identifies a finisher. This identifier could be used to attach a finisher to a form.

## Common \<finisherIdentifier> properties {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-commonproperties}

### implementationClassName {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-implementationclassname}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.implementationClassName

-   ***Data type***

    string

-   ***Needed by***

    Frontend

-   ***Mandatory***

    Yes

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Good to know***

    -   ["Custom finisher implementations"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-customfinisherimplementations@14.3)

-   ***Description***

    Classname which implements the finisher.

### options {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-options}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.options

-   ***Data type***

    array

-   ***Needed by***

    Frontend

-   ***Mandatory***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Good to know***

    -   ["Custom finisher implementations"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-customfinisherimplementations@14.3)

-   ***Description***

    Array with finisher options.

### translation.translationFiles {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-translation-translationfiles}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.translation.translationFiles

-   ***Data type***

    string/ array

-   ***Needed by***

    Frontend

-   ***Mandatory***

    No

-   ***Default value***

    Depends (see [concrete element configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-formelementsdefinition-formelementtypeidentifier-concreteconfigurations@14.3))

-   ***Good to know***

    -   ["Translate finisher options"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-frontendrendering-translation-finishers@14.3)

-   ***Description***

    Filesystem path(s) to translation files which should be searched for finisher translations.
    If the property is undefined, - ["prototypes.prototypeIdentifier.formElementsDefinition.Form.renderingOptions.translation.translationFiles"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-formelementsdefinition-form-renderingoptions-translation-translationfiles@14.3) will be used.

### formEditor {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formeditor}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.formEditor

-   ***Data type***

    array

-   ***Needed by***

    Backend (form editor)

-   ***Mandatory***

    Recommended

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Description***

    Array with configurations for the `form editor`

### formeditor.iconIdentifier {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formeditor-iconidentifier}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.formEditor.iconIdentifier

-   ***Data type***

    string

-   ***Needed by***

    Backend (form editor)

-   ***Mandatory***

    Yes

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Description***

    An icon identifier which must be registered through the `\TYPO3\CMS\Core\Imaging\IconRegistry`.
    This icon will be shown within the - ["Inspector \[CollectionElementHeaderEditor\]"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-formelementsdefinition-formelementtypeidentifier-formeditor-editors-collectionelementheadereditor@14.3) if the finisher is selected.

### formeditor.label {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formeditor-label}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.formEditor.label

-   ***Data type***

    string

-   ***Needed by***

    Backend (form editor)

-   ***Mandatory***

    Yes

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Good to know***

    -   ["Translate form editor settings"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-formeditor-translation-formeditor@14.3)

-   ***Description***

    This label will be shown within the - ["Inspector \[CollectionElementHeaderEditor\]"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-formelementsdefinition-formelementtypeidentifier-formeditor-editors-collectionelementheadereditor@14.3) if the finisher is selected.

### formeditor.predefinedDefaults {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formeditor-predefineddefaults}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.formEditor.predefinedDefaults

-   ***Data type***

    array

-   ***Needed by***

    Backend (form editor)

-   ***Mandatory***

    No

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Description***

    Defines predefined defaults for finisher options which are prefilled, if the finisher is added to a form.

### FormEngine {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formengine}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.FormEngine

-   ***Data type***

    array

-   ***Needed by***

    Backend (plugin)

-   ***Mandatory***

    No

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Description***

    Array with configurations for the `form plugin`

### FormEngine.label {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formengine-label}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.FormEngine.label

-   ***Data type***

    string

-   ***Needed by***

    Backend (plugin)

-   ***Mandatory***

    No

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Good to know***

    -   ["Translate form plugin settings"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-formplugin-translation-formengine@14.3)

-   ***Description***

    Finisher options are overwritable within the `form plugin`.
    If the "Override finisher settings" checkbox is selected within the `form plugin`, every finisher who has a - ["FormEngine"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formengine@14.3) configuration, is shown in a separate tab.
    `label` is the label for such a tab.

### FormEngine.elements {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-formengine-elements}

-   ***Option path***

    prototypes.\<prototypeIdentifier>.finishersDefinition.\<finisherIdentifier>.FormEngine.elements

-   ***Data type***

    array

-   ***Needed by***

    Backend (plugin)

-   ***Mandatory***

    No

-   ***Default value***

    Depends (see [concrete finishers configuration](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations@14.3))

-   ***Good to know***

    -   ["Translate form plugin settings"](https://docs.typo3.org/permalink/typo3/cms-form:concepts-formplugin-translation-formengine@14.3)

-   ***Description***

    Every array key must match to the related finisher option name.
    For example, the - ["\[Redirect\] finisher"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-redirect@14.3) has the option - ["pageUid"](https://docs.typo3.org/permalink/typo3/cms-form:prototypes-prototypeidentifier-finishersdefinition-redirect-options-pageuid@14.3).
    If you want to make the `pageUid` overwritable within the `form plugin`, then an array key `pageUid` has to exists within `prototypes.prototypeIdentifier.finishersDefinition.finisheridentifier.FormEngine.elements`.
    The configuration within `prototypes.prototypeIdentifier.finishersDefinition.Redirect.FormEngine.elements.pageUid` must follow the TCA syntax.

## Concrete configurations {#prototypes-prototypeidentifier-finishersdefinition-finisheridentifier-concreteconfigurations}

-   [[Closure]](https://docs.typo3.org/permalink/typo3/cms-form:closure@14.3)
-   [[Confirmation]](https://docs.typo3.org/permalink/typo3/cms-form:confirmation@14.3)
-   [[EmailToReceiver]](https://docs.typo3.org/permalink/typo3/cms-form:emailtoreceiver@14.3)
-   [[EmailToSender]](https://docs.typo3.org/permalink/typo3/cms-form:emailtosender@14.3)
-   [[DeleteUploads]](https://docs.typo3.org/permalink/typo3/cms-form:deleteuploads@14.3)
-   [[FlashMessage]](https://docs.typo3.org/permalink/typo3/cms-form:flashmessage@14.3)
-   [[Redirect]](https://docs.typo3.org/permalink/typo3/cms-form:redirect@14.3)
-   [[SaveToDatabase]](https://docs.typo3.org/permalink/typo3/cms-form:savetodatabase@14.3)
