Introduction
What does it do?
The extension provides a way to render forms built with the TYPO3 Form Framework. It allows rendering of generic forms, defined by a comprehensive TypoScript rendering definition. This definition can be extended to a specific form to allow customizating the output of various forms. In addition, the extension allows to modify the build mechanisms of so called view models, which makes the whole concept very dynamic and flexible.
Features
- Form elements: Support for all default form elements of EXT:form
- Generic rendering: One TypoScript rendering definition for all forms
- Per-form overrides: Dedicated templates and data structures for specific forms
- Extensibility: Custom view model builders and content objects for custom form elements
- Fluid fallback: Elements without a Handlebars template can be rendered with EXT:form's default Fluid partials
- Compatibility: Compatible with TYPO3 13.4 LTS and 14.3 LTS
How does it work?
The extension hooks into EXT:form at two points:
- Form renderer – When a form is rendered on the frontend, EXT:form hands it over
to this extension. Based on the TypoScript configuration at
plugin., a Handlebars template is selected for the form and rendered by EXT:handlebars.tx_ form. handlebars Forms - Data processor – Before the template is rendered, the process-form
data processor walks through all form elements and collects the data the template
needs (IDs, names, labels, values, validation errors, …). What is collected is
defined in TypoScript using dedicated
HBS_*content objects. The result is a plain array that becomes the template's context.
In short: EXT:form keeps handling the form logic (validation, finishers, multi-step navigation), TypoScript describes the data, and Handlebars takes care of the markup.
Support
There are several ways to get support for this extension:
Security Policy
Please read our security policy if you discover a security vulnerability in this extension.
License
This extension is licensed under GNU General Public License 2.0 (or later).