Skip to content

Render: link

Plugin ID: eca_render_link

Available since: 1.1.0

Build a link element, optionally displaying its content as a modal or dialog.

Fields

Title — config key: title

The title of the link.
This field supports tokens.

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

URL — config key: url

The link destination as a valid URL.
This field supports tokens.

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

Enforce absolute — config key: absolute

This makes the destination URL of the link always absolute, also for relative and internal URLs.

Type: checkbox · Required: no · Default: false

Link type — config key: link_type

Choose how the content of the link should be displayed. More about dialog types can be found here."
When using the "Defined by token" option, make sure there is a token with this name: eca_render_link_link_type

Type: select · Required: yes · Default: page

Allowed values: ajax, modal, dialog, off_canvas, off_canvas_top, page, page_new_window, _eca_token

Width percentage — config key: width

Specify the number of width percentage if the link content is being rendered in a modal or dialog.
This field supports tokens.

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

Display link as — config key: display_as


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

Type: select · Required: yes · Default: anchor

Allowed values: anchor, button:primary, button:primary:small, _eca_token

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_link_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.