Feature: #84713 - Access single values in form templates

See Issue #84713

Description

It is now possible to access single form values in templates of the “form” extension. For this a new RenderFormValueViewHelper has been added which complements the existing RenderAllFormValuesViewHelper.

The RenderFormValueViewHelper accepts a single form element and renders it exactly like the RenderAllFormValuesViewHelper used to do within its internal traversal of renderable elements:

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

To make it possible to access single form elements, a new method FormDefinition::getElements() has been added. This method returns an array containing all elements in the form with their identifiers as keys.

<f:debug>{page.rootForm.elements}</f:debug>

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.