Skip to content

Render: custom form

Plugin ID: eca_render_custom_form

Available since: 1.1.0

Build a custom form using "ECA Form" events.

Fields

Custom form ID — config key: custom_form_id

This custom form ID is being used to identify the form on ECA Form events. It is always prefixed with "eca_custom_". Example: When specified the custom form ID my_custom_form, then it can be identified e.g. on the event Build form using the form ID eca_custom_my_custom_form.

Type: textfield · Required: yes · Default: empty string

Machine name — config key: name

Optionally define a machine name of this render element. It will be made available under that name in the render array of the current event in scope. Nested elements can be set with using "][" brackets, for example details][title.
This field supports tokens.

Type: textfield · Required: no · Default: empty string

The machine name is a key in the render array of the event in scope. ECA's form events expose the form array itself as their render array, so under a Build form or Process form event this name is a form element key, and ][ nesting addresses nested form elements. See rendering HTMX elements into a form for what that makes possible.

Leaving the name empty is the usual choice for a standalone element. It is unsafe only together with the Build mode value Set and clear any previous value, which then replaces the whole render array instead of adding to it. See the note on the Build mode field.

Token name — config key: token_name

Optionally define a token name of this render element. It will be made available under that token name for later usage. Please provide the token name only, without brackets.

Type: textfield · Required: no · Default: empty string

Element weight — config key: weight

Optionally specify an element weight. The lower the weight, the element appears before other elements having a higher weight.
This field supports tokens.

Type: textfield · Required: no · Default: empty string

Build mode — config key: mode


When using the "Defined by token" option, make sure there is a token with this name: eca_render_custom_form_mode

Type: select · Required: yes · Default: append

Allowed values: set:clear, set:clear:defined, merge, prepend, append, nothing, _eca_token

An empty machine name clears the whole render array

With this field set to Set and clear any previous value and no Machine name, the action adds nothing: it replaces the entire render array of the event in scope with the element it just built. Under a Build form event, whose render array is the form itself, that discards the whole form.

Use Set value when machine name is defined above whenever the name comes from a token that might resolve to nothing. That mode leaves the target untouched while the name is empty.