Form plugin
What does it do?
The form plugin allows you to assign a form to a page and view it in the
frontend. The form can have been created via the form editor or shipped with
your extension. Forms can be re-used throughout the TYPO3 installation and backend editors
can override form definitions. At the moment, only finisher options can be overridden but the
possibilities depend on the configuration of the underlying prototype.
Imagine that your form contains a redirect finisher. The redirect target is set
globally and valid for the whole form definition. When they are adding the form
to a page, a backend editor can define a redirect target that is different to the
'global' form definition. This setting is only valid on the page containing the plugin.
Read more about changing general and specific form plugin configuration.
Exclude options from overrides
Sometimes it is useful to prevent options from being overridden by the
form plugin. You can do this by unsetting the options in your
general forms configuration YAML. To unset options use the YAML NULL (
~) value.
In this example, four EmailToReceiver finisher fields are unset. The
options will be removed from the form plugin but not the form editor.
prototypes:
standard:
finishersDefinition:
EmailToReceiver:
FormEngine:
elements:
senderAddress: ~
senderName: ~
replyToRecipients: ~
translation: ~
Translation of form plugin
All option values under the following configuration keys can be translated:
prototypes:
standard:
finishersDefinition:
<finisherIdentifier>
formEngine:
Form plugin translation files are loaded as follows:
prototypes:
standard:
formEngine:
translationFiles:
# custom translation file
20: 'EXT:my_site_package/Resources/Private/Language/Database.xlf'
Each option value is searched for in the defined translation files. If a translation is found, the translated option value will be used.
Imagine that the following option value is defined:
...
label: 'tt_content.finishersDefinition.EmailToReceiver.label'
...
The translation key
tt_content.finishersDefinition.EmailToReceiver.label is first searched for in the file
20: 'EXT:my_site_package/Resources/Private/Language/Database.xlf' and
then in the file 10: 'EXT:form/Resources/Private/Language/Database.xlf'
(loaded by EXT:form by default). If nothing is found, the option value will be
displayed unmodified.