Feature: #84713 - Access single values in form templates
See forge#84713
Description
It is now possible to access single form values in templates of the "form" extension. For this a new Render
has been added which complements the existing Render
.
The Render
accepts a single form element and renders it exactly like the Render
used to do within its internal traversal of renderable elements:
To make it possible to access single form elements, a new method Form
has been added. This method returns an array containing all elements in the form with their identifiers as keys.
Viewhelper usage in mail templates:
<p>The following message was just sent by <b><formvh:renderFormValue renderable="{form.formDefinition.elements.name}" as="formValue">{formValue.processedValue}</formvh:renderFormValue><b>:</p>
<blockquote>
<formvh:renderFormValue renderable="{form.formDefinition.elements.message}" as="formValue">
{formValue.processedValue}
</formvh:renderFormValue>
</blockquote>
See which elements are accessible in mail templates:
<f:debug>{form.formDefinition.elements}</f:debug>
Viewhelper usage in the Summary
partial:
<p>The following message was just sent by <b><formvh:renderFormValue renderable="{page.rootForm.elements.name}" as="formValue">{formValue.processedValue}</formvh:renderFormValue><b>:</p>
<blockquote>
<formvh:renderFormValue renderable="{page.rootForm.elements.message}" as="formValue">
{formValue.processedValue}
</formvh:renderFormValue>
</blockquote>
See which elements are accessible in the Summary
partial:
<f:debug>{page.rootForm.elements}</f:debug>
Attention
The form elements are accessed differently depending on the kind of template.
In mail templates {form.
is used,
in the Summary
partial {page.
is used.
Impact
Form values can now be placed freely in Fluid templates of the "form" extension instead of being bound to traverse all form values and skip rendering.