/** * @param RootRenderableInterface $renderable * @param string $as * @return string the rendered form values */ public function render(RootRenderableInterface $renderable, $as = 'formValue') { if ($renderable instanceof CompositeRenderableInterface) { $elements = $renderable->getRenderablesRecursively(); } else { $elements = [$renderable]; } /** @var RendererInterface $fluidFormRenderer */ $fluidFormRenderer = $this->viewHelperVariableContainer->getView(); $formRuntime = $fluidFormRenderer->getFormRuntime(); $formState = $formRuntime->getFormState(); $output = ''; foreach ($elements as $element) { if (!$element instanceof FormElementInterface) { continue; } $value = $formState->getFormValue($element->getIdentifier()); $formValue = ['element' => $element, 'value' => $value, 'processedValue' => $this->processElementValue($element, $value), 'isMultiValue' => is_array($value) || $value instanceof \Iterator]; $this->templateVariableContainer->add($as, $formValue); $output .= $this->renderChildren(); $this->templateVariableContainer->remove($as); } return $output; }