コード例 #1
0
ファイル: RenderValuesViewHelper.php プロジェクト: neos/form
 /**
  * @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;
 }