Form Reform can use a range of handler plugins to configure form processing.
Functionality can be extended by adding plugin classes for additional Form Handlers. Form Handler plugins are simple classes that provide the functionality to perform a single form handling action. They should inherit from FormHandlersPluginBase. Details are provided by comments in the code.
Plugins can be added by placing the plugin classes at packages/anyPackageName/src/FormReform/FormHandlers/Plugins/PluginName or application/src/FormReform/FormHandlers/Plugins/PluginName. Plugins can also be similarly placed beneath the plugin type's namespace declared in a package controller's AutoloaderRegistries.
Lookup the Latitude/Longitude for an address string.
Geocoding begins by assembling an address string using {{place_holders}} from form data and other sources. The address string is then sent to the Google Geocode API and the returned data made available to following handlers as {{geocode:key}} data values such as {{geocode:latitude}} and {{geocode:longitude}}.
Geocoding is only as accurate as the address string provided. A partial address string or ambiguous address string may result in multiple places being returned or none being returned. Reliable results are indicated by a {{geocode:place_count}} of 1.
When the address string is incomplete or the Google geocode API cannot return data, an error will be returned. If this is important to form processing, geocoding should be followed by On Success / On Error handlers.
Keys provided for geocoded data. Accuracy and provision depends on data from Google.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Clear a {{place_holder}} category that has been added dynamically.
Form handlers and other extensions may declare and populate {{place_holder}} categories in order to make data available to Form Reform form handlers and blocks.
A specified category will be cleared from this handler onwards. If the category does not exist or has not been populated, this handler has no effect.
Only dynamically added categories can be cleared. Built in categories such as "form", "user" and "date" cannot be cleared.
Clear all errors so far.
Empties the list of accumulated errors
Files held in quarantine are cleared without import to the File Manager.
Form inputs that utilize Snapshot tools initially place files in a quarantine folder. This handler clears all files associated with a form or files associated with a specified input from quarantine.
Insert a comment.
Make a comment or note within the pipeline. This handler has no effect on pipeline processing.
Denotes alternative condition processing.
The handlers ConditionIf, ConditionElseIf, ConditionElse and ConditionEnd manage a single level of conditional processing in form handling.
The general process should be :
Denotes conditional alternative condition processing.
The handlers ConditionIf, ConditionElseIf, ConditionElse and ConditionEnd manage a single level of conditional processing in form handling.
The general process should be :
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Denotes end of condition processing.
The handlers ConditionIf, ConditionElseIf, ConditionElse and ConditionEnd manage a single level of conditional processing in form handling.
The general process should be :
Check a condition and either proceed or move forwards to an alternative.
The handlers ConditionIf, ConditionElseIf, ConditionElse and ConditionEnd manage a single level of conditional processing in form handling.
The general process should be :
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Ends processing of the pipeline.
Ends processing at this step. No further handler pipeline steps will be executed. Any pending actions from handlers such as showing messages or redirecting pages will be completed.
Extend or modify the submitted form data with additional names/values.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Build a list from form data, text and other values. Then concatenate that list into a new item of data.
Each item in the list may contain {{place_holders}}. These are filtered to remove empty values and concatenated about a configurable snippet to provide a new item of data.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Extend or modify the submitted form data by matching a lookup table.
Where simple logic is required to map an existing value into a new value, a lookup table can be considerably more efficient and easier to work with than an if/elseif/else chain of handlers.
This handler provides two levels of conditional processing. The first level determines if this handler evaluates any further. The second level attempts to match the Match Source against a list of When Matched values and returns the Return Value for the first successful match.
Attach or replace a parameter name => value as additional data to the form response or any other placeholder category. The new value is determined by the first match found in the lookup table. The Match Source, When Matched value and Return Value may all use {{place_holders}} to be filled with system or entered form values. {{Place_holders}} in the Return Value colum are by default filled with a textual value. Where a Return Value {{place_holder}} will be used in further evaluation, it may be convenient to fill it with the raw data. For example, to preserve and use the structure of an array.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Build a text or rich text item to extend form data.
Build boilerplate for a text item, fill the boilerplate with form and site parameters and populate the form response or any other placeholder category with that text. Names and text may both use {{place_holders}} to be filled with system or entered form values.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Immediately fails silently.
Sometimes rather than ending with a helpful validation error message or completing the form handling pipeline, you may just want a form submission to disappear into a black hole with no response whatsoever. For example, when spam is detected (The Spam Detect handler has options to fail silently built in, so does not require this.)
Dispatches a ConcreteCMS event.
The event on_form_reform_event is dispatched with optional parameters submission_data and errors. Event listeners may read and/or modify these parameters.
The event name defaults to event and is dispatched as on_form_reform_event. The special event name test is handled by the package to (where configured) add some test data to the form submission and inject a test error message.
Files held in quarantine are released and imported to the File Manager.
Form inputs that utilize Snapshot tools initially place files in a quarantine folder. This handler releases all files associated with a form or files associated with a specified input from quarantine and makes the files available as {{place_holders}} to subsequent form handlers.
Iterate over a multi-value item of data.
The handlers IterateData and IterateDataEnd manage iteration over each item in multi-value item of data.
The general process should be:
Denotes end of iteration over a multi-value item of data.
The handlers IterateRepeatableGroup and IterateRepeatableGroupEnd manage iteration over each item in a repeatable group.
The general process should be:
Iterate over items in a repeatable group.
The handlers IterateRepeatableGroup and IterateRepeatableGroupEnd manage iteration over each item in a repeatable group.
The general process should be :
Denotes end of iteration over a repeatable group.
The handlers IterateRepeatableGroup and IterateRepeatableGroupEnd manage iteration over each item in a repeatable group.
The general process should be :
Log errors so far.
Logs the current list of errors. If no errors, behaviour is configurable to do nothing or to log a 'No Errors' message.
Log the currently recorded handler results.
Logs the current pipeline handler results to the Form Reform channel. Use this as a diagnostic when you don't want the full logging options.
Log the current pipeline.
Logs the configured form Handler Pipeline to the Form Reform channel. Use this as a diagnostic when you don't want the full logging options.
Log all submitted data.
Logs all submitted data to the Form Reform log channel. Raw data is logged prior to any data extraction.
Log data extracted from form fields.
Log only the data extracted by the form field blocks through their extractSubmissionData() methods.
Navigate tabs in Magic Tabs.
Primarily used with AJAX submissions when the form is within Magic Tabs. This is similar to the action of a Magic Tabs Jump block. The tab navigation is made on return from the AJAX submission. Outside of an AJAX submission, this handler has no effect.
GoTo a tab requires a target. For other actions you can usually leave the target blank. To identify a specific tab you can provide any of:
Merge form previously saved to cookie with form data.
Data extracted from form fields is merged with form data previously saved to visitor/user cookie data. Existing data from the cookie or submitted data can take priority.
Merge form previously saved to default store store with form data.
Data extracted from form fields is merged with form data previously saved to the default data store. Existing data from the default or submitted data can take priority.
Merge form previously saved to session with form data.
Data extracted from form fields is merged with form data previously saved to visitor/user session data. Existing data from the session or submitted data can take priority.
Create a form response message to be displayed to the user.
Build boilerplate for a response message, fill the boilerplate with form and site parameters and select a level to emphasize the message display. All text fields can use {{place_holders}} to be filled with system or entered form values.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Designate the next form state.
A form control can be hidden, disabled or not rendered for various form states, for example, when a success message is shown or during one or more parts of a multi-step form. All forms begin in Step 1. The next state(s) can also be set automatically by a Message. States are accumulated through the executed handler pipeline steps.
A null handler.
Do absolutely nothing.
Denotes error processing.
On Error and On Success should always be used in together to denote processing for errors and processing for no errors. Either may be used first.
The general process should be one of:
Denotes success processing (no errors).
On Error and On Success should always be used in together to denote processing for errors and processing for no errors. Either may be used first.
The general process should be one of:
Query the default store for matching previous submissions.
The default store is queried for previous submissions matching configurable criteria.
Count existing responses by matching one or more criteria of the response.
Redirect to a page or URL.
When the pipeline completes or is ended, the browser will be redirected to the configured page or URL. An optional condition may be configured to control redirection.
Redirect options are:
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Save form submission to a CSV file.
Pick a Folder from the file manager and Form Reform will create and update a new CSV file for form results in that folder. The file will be named after the form name or an alias.
A form can be saved to the name configured by the form blocks or to a different (alias) name. This can be convenient when you take advantage of the default name "form_reform" when adding a single form to a page, but would like a more specific name for the saved form data.
The file will be named after the form name or alias followed by configurable text and {{PlaceHolders}}. {{PlaceHolders}} should be used with caution to avoid accidentally creating a profusion of files.
The CSV column headings are set when the file is created by the first form submission. If you subsequently change the form input fields, the CSV columns could become skewed. In such cases you should either change the form name / alias and begin a new CSV or manually edit the existing CSV to match the new form. Similar care must be taken if adding data to a previously uploaded CSV.
Form items may optionally be redacted from the data that is saved. For example, to remove a password from the saved data. Redacted items are listed by input_name.
Save form submission to browser cookie.
Data extracted from form fields is saved as a browser cookie. The primary reason for saving to a cookie is to enable values to be recovered and inserted into the same or other forms. Cookie data is available in the user's browser, so should not be relied upon for any critical data as it can easily be viewed and even hacked.
A form can be saved to the name configured by the form blocks or to a different (alias) name. This can be convenient when you take advantage of the default name "form_reform" when adding a single form to a page, but would like a more specific name for the saved form data.
A form submission may optionally update an existing response by matching one or more criteria of the response.
Save form submission to the default table.
Saves data extracted from form fields to the default table FormReformDefault. Form data is serialised as JSON.
A form can be saved to the name configured by the form blocks or to a different (alias) name. This can be convenient when you take advantage of the default name "form_reform" when adding a single form to a page, but would like a more specific name for the saved form data.
A form submission may optionally update an existing response by matching one or more criteria of the response. Items marked * cannot be used alone. They can only be used in association with un-marked criteria.
Save each form submission to an individual file.
Pick a Folder from the file manager and Form Reform will create a new file for each saved form submission in that folder.
A form can be saved to the name configured by the form blocks or to a different (alias) name. This can be convenient when you take advantage of the default name "form_reform" when adding a single form to a page, but would like a more specific name for the saved form data.
The file will be named after the form name or alias followed by configurable text and {{PlaceHolders}}.
File format is also selectable. You may need to add specific extensions in Allowed File Types for some formats.
Form items may optionally be redacted from the data that is saved. For example, to remove a password from the saved data. Redacted items are listed by input_name.
Save form submission to session data.
Data extracted from form fields is saved to the visitor/user session data. This is transient data that lasts for the duration of the Concrete CMS session. The primary reason for saving to a session is to enable values to be recovered and inserted into the same or other forms.
A form can be saved to the name configured by the form blocks or to a different (alias) name. This can be convenient when you take advantage of the default name "form_reform" when adding a single form to a page, but would like a more specific name for the saved form data.
A form submission may optionally update an existing response by matching one or more criteria of the response.
Send an email.
Build boilerplate for an email, fill the boilerplate with form and site parameters. Send it to a configurable location. All text fields can use {{place_holders}} to be filled with system or entered form values. An optional condition may be configured to control sending email.
An email address can be entered as an actual name@address.com, as a user ID, as a {{place_holder}} or any combination.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Set an error, for example to force an On Error.
Set a plain text error and/or a rich text error. Text may use {{place_holders}} to fill data.
Forcing an error can be useful to facilitate testing the form handler pipeline. Setting an error can also be used within a ConditionIf ... ConditionEnd set of handlers where the condition tests for an an error condition as a consequence of multiple input values.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Sets an error depending on the result of condition evaluation.
Provides a single handler solution to setting an error based on a set of condition rules. An error can be set if the condition is met or if the condition is not met.
Item A is compared with Item B and may contain {{place_holders}}. Comparison operations available are:
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Sort the submitted form data into a configured sequence.
Sometimes it is useful to save form data in a specified sequence. For example, so a CSV can be easily viewed as a spreadsheet.
List one or more form inputs in the required sequence and form data will be sorted into that sequence overall and within any input groups.
Form inputs not listed will be sorted last.
Configure multiple spam detection strategies.
Each spam detection strategy can be separately enabled to either fail silently or to provide an error message that can then be managed through the On Error handlder.
When an existing error matches a condition, it can be replaced with an alternative message.
Some form handlers may generate error messages more suited to administrators or developers than site visitors. This Transform Error handler can be used to catch such errors and replace them with an alternate message.
Options allow transformed errors to be logged and for administrators to be exempted from the transform.
The condition to match errors may contain {{place_holders}}. Comparison operations available are:
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Validate form input fields.
Validate the form input fields provided by each block in the form. Provides a list of errors as {{errors:list}} if validation fails.
Blocks in the form, including blocks in layouts, containers, stacks and global areas, are listed and the form fields in each block is validated using a validateSubmission() method provided by the block controller. When validation fails, this returns a list of errors.
Following validation, the next step should normally be an On Error handler to manage failed validation and later on an On Success handler for continued form processing.
Insert a time delay.
Inserts a time delay. Can be useful for testing interactions. Take care not to exceed php execution limits.
Forward a form submission to Microsoft Dynamics.
Map data from Form Reform into names and values for Dynamics and forward that data to Dynamics using a POST request.
Outgoing data is prepared as name/value pairs. The values can contain {{place_holders}}. Values left empty will be filled from any form data that matches the name.
Returned data is made available as {{place_holders}} with the categories dynamics and dynamics_post. The dynamics category is accumulated by all Dynamics form handlers while dynamics_post will only contain data for this handler. Keys within these categories are the returned data item names. The special keys all and all_formatted provide the entire response. Examples: {{dynamics_post:XXX}}, {{dynamics_post:all}},
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Query Microsoft Dynamics to retrieve existing records.
Use an email address or other {{place_holders}} from Form Reform to query Dynamics for existing records and make the returned records available to Form Reform. See Query Data Samples for details of Dynamics query parameters.
Query parameters are prepared as name/value pairs. The values can contain {{place_holders}}. Values left empty will be filled from any form data that matches the name.
Returned data is made available as {{place_holders}} with the categories dynamics and dynamics_get. The dynamics category is accumulated by all Dynamics form handlers while dynamics_get will only contain data for this handler. Keys within these categories are the returned data item names. The special keys all and all_formatted provide the entire response. Examples: {{dynamics_get:XXX}}, {{dynamics_get:all}},
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Use a form submission to update an existing record in Microsoft Dynamics.
Given a dynamics record ID, map data from Form Reform into names and values for Dynamics and update that data in Dynamics using a PATCH request.
The record to be updated must first the identified with a record ID. Outgoing data is then prepared as name/value pairs. The values can contain {{place_holders}}. Values left empty will be filled from any form data that matches the name.
A Dynamics record ID will be 36 characters long in the format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX where X is a hexadecimal digit. This will typically be formed using a {{place_holder}} to insert an ID retrieved by a Get From Dynamics pipeline handler.
Returned data is made available as {{place_holders}} with the categories dynamics and dynamics_patch. The dynamics category is accumulated by all Dynamics form handlers while dynamics_patch will only contain data for this handler. Keys within these categories are the returned data item names. The special keys all and all_formatted provide the entire response. Examples: {{dynamics_patch:XXX}}, {{dynamics_patch:all}},
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Block Form Reform Spam with Anti-Spammer Master.
Anti-Spammer Master can be enabled to either fail silently or to provide an error message that can then be managed through the On Error handlder.
Merge form previously saved to a textarea attribute of the current user.
Data extracted from form fields is merged with form data previously saved to a user textarea attribute. Existing data from the attribute or submitted data can take priority.
Save form submission to a text area attribute of the current page.
Data extracted from form fields is saved to a textarea attribute of the current page. Form data is serialised as JSON.
A form can be saved to the name configured by the form blocks or to a different (alias) name. This can be convenient when you take advantage of the default name "form_reform" when adding a single form to a page, but would like a more specific name for the saved form data.
A form submission may optionally update an existing response by matching one or more criteria of the response. Items marked * cannot be used alone. They can only be used in association with un-marked criteria.
Save form submission to attributes of the current user.
Saves data extracted from form fields to the user's attributes. Each user attribute is mapped from a {{data_value}}.
Save form submission to a text area attribute of the current user.
Data extracted from form fields is saved to a textarea attribute of the current user. Form data is serialised as JSON.
A form can be saved to the name configured by the form blocks or to a different (alias) name. This can be convenient when you take advantage of the default name "form_reform" when adding a single form to a page, but would like a more specific name for the saved form data.
A form submission may optionally update an existing response by matching one or more criteria of the response.
Save form submission to an Express object.
Saves data extracted from form fields to an Express object. Each attribute of an Express object is mapped from a {{data_value}}.
Take care if configuring to update an existing result to constrain the scope of what can be updated.
Add and remove the current user from user groups.
Removal is handled before adding. The user submitting the form can be removed from and added to existing user groups. The Administrators group is excluded.
Extend or modify the submitted form data with additional names/values populated from file properties.
The form category is data extracted from the form input elements. When a category is not specified, this category is defaulted. Keys are the input names:
We have multiple ways to work with form data from repeatable groups:
The query category is actual query string data. This may not be the same as the form category, but can also be used when {{place_holders}} are not in a form pileline. Keys are the query key names:
The page category provides information about the submitting page:
The visitor category provides information about the visitor and browser:
The user category provides information about the current user:
The date category, formatted using php DateTime:
The pipeline category is a list of status data provided by many of the handlers. Keys are a snake_case handle derived from the Plugin Name. Values depend on plugins:
The random category generates random values and some related utilities:
To distinguish between an unfilled {{place_holder}} and a deliberately empty value, the empty category provides explicitly empty values. All but null can also be provided using the {{category:key|default}} component of a {{place_holder}}:
The errors category provides error messages reported by form handlers:
The thumbnail category prefix creates HTML <img> tags from image files identified by fID, UUID, or path. Use this category by prefixing another category with thumbnail_.
For example, if the form input my_input would normally provide an fID, UUID or File Manager path for an image files as {{form:my_input}}, then {{thumbnail_form:my_input}} will provide an <img> tag for that image file. A further refinement is to insert a size such as {{thumbnail_[size]_form:my_input}} to fit the image into a thumbnail size. The size can be any number by itself, or followed by w, h, or b to fit to width, height or box, or a pair of numbers as WidthxHeight to specify both width and height in pixels. The thumbnail category prefix can be used to preceded any category that returns and image fID, UUID or File Manager path, not just the form category.
If you have a large image and would prefer a picture element, the picture category prefix works in the same way to prefix another category and generate a <picture> element.
If a file is not an image file, the default Concrete CMS icon for the file type will be returned.
The webcam category provides further categories with further information about an imported file.
In the form handler pipeline, the form data placeholder {{form:my_input}} provides the File ID (fID) for the Image Picker input my_input.
This is supplemented by the image_picker category to provide further information about the picked images.
Debug resource. Dump out currently added static handler categories.
Form blocks and handlers can provide additional {{data values}} using addStaticCategoryHandler($category, $handler_class) where $handler_class extends DataValueCategoryBase. This handler dumps the currently added category handlers into a response message.
Debug resource. Dump out the form data.
Form blocks and handlers traslate input data from the form submission into {{form:key}} which are then saved with the form. This handler dumps the available {{form:key}} values into a response message.
Debug resource. Dump out the $_POST data.
Form blocks and handlers traslate $_POST data from the form submission into {{data_values}} which are then saved with the form. This handler dumps the $_POST values into a response message.
Debug resource. Dump out the $_GET data.
Form blocks and handlers traslate $_GET data from the form query string into {{data_values}} which are then saved with the form. This handler dumps the $_GET values into a response message.
Debug resource. Dump out what is currently in the static values array.
Form blocks and handlers can provide additional {{data values}} using DataValues::addStaticCategory($category, $key_values_list). This handler dumps the currently available values into a response message.
Debug resource. Dump currently added static handler categories to the log.
Form blocks and handlers can provide additional {{data values}} using addStaticCategoryHandler($category, $handler_class) where $handler_class extends DataValueCategoryBase. This handler dumps the currently added category handlers to the site log.
Debug resource. Dump current in the static values array to the log.
Form blocks and handlers can provide additional {{data values}} using DataValues::addStaticCategory($category, $key_values_list). This handler dumps the currently available values to the site log.
Debug resource. Review the raw POST data.
Reviews raw POST data and suggests possible issues.
Validate the structure of a form.
Validate the actual structure of a form. This may generate false positives about intended form structure, in which case the respective checks can be disabled.
Call a macro.
Macros are like subroutines of form handlers. Macros are managed at Dashboard > System & Settings > Form Reform > Form Reform Macros . Use macros to organise and structure long pipelines and to factor out common pipeline sequences.
{{macro:key}} parameters declared by a macro handler exist only for the duration of the inserted macro handler pipeline and override any previous {{macro:key}} values of the same key. Values are filled with the raw data and can be used in handlers that work with data structure. On completion of the macro pipeline, any previous {{macro:key}} values are restored.
If you need a specialized template or a custom input element, you can design new templates or new block types for form elements as you would any block type.
Blocks are easy for third party addition or extension. Block templates and are the first thing any Concrete CMS developer learns to code. They are one of the easiest things to code. The underlying mechanisms are well established and reliable.
Form handlers are built about the same extensible plugin system as many of my other addons (Universal Content Puller, Omni Gallery, Extreme Clean ...).
The whole system is aimed at easy extension within Form Reform, by third party addons, by agencies and by site building developers.
Handlers can be easily added to do whatever you want with the form data.
Saving form data with Form Reform is simply a handler in the processing pipeline. You can save to multiple locations or just one location.
If you need to save data elsewhere, such as to a dedicated table, a table provided through another addon, to another database, send it to an API, forward it to another server, or anywhere you can imagine, you can adapt or develop a form handler to do so.
The complexity of the code depends on where you are saving or sending the data, but wrapping that into a form handler plugin for Form Reform is straight forward.
The Form Reform handler plugin system is designed for easy extension.
Reform the way forms are built. Build a form out of blocks. Take control of how form submissions are processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.
List and display form submissions from Form Reform.
Not just Form Reform and not just UTM! Capture and hold incoming UTM (or other) tags and make the tag values available to Form Reform and/or Conditional Redirect as {{place_holders}}. You don't need Form Reform to use this.
Form handlers for querying Microsoft Dynamics, forwarding and updating form data to Microsoft Dynamics.
A suite of advanced image capture and upload tools. Enhanced drag and drop file uploading. Make screengrabs from within Concrete CMS. Capture images directly from device webcams. Edit images before uploading.
Save submitted forms to Express objects and user attributes. Add and remove users from groups.
Form Reform Image Picker provides an image picking input block for Form Reform. The Image Picker Input is preconfigured to connect to most Omni Gallery gallery and slider display widgets, the core gallery block, and thumbnail showing templates for the core page list block. Advanced settings allow the Image Picker Input to be configured to pick images from other galleries and sliders.
Form Reform Data Picker provides data picking input blocks for Form Reform. The Table Picker Input is preconfigured to connect to Universal Content Puller table display widgets. Advanced settings allow the Table Picker Input to be configured to pick data from other HTML tables.
Extends Form Reform with form handler macros. Provides a new dashboard page at System & Settings > Form Reform > Form Reform Macros to manage macros, and form handlers to run macros.
A growing suite of resources to assist those developing blocks, handlers and more complex forms for Form Reform.
While you may have plans to implement some much more complex forms using Form Reform, we strongly recommend you start with a simple form such as our contact form example in order to review the basic principles of using Form Reform before you move onto anything bigger.