registerArgument('renderable', RootRenderableInterface::class, 'A RootRenderableInterface instance', true); $this->registerArgument('as', 'string', 'The name within the template', false, 'formValue'); } /** * Return array element by key. */ public function render(): string { $renderable = $this->arguments['renderable']; if ($renderable instanceof CompositeRenderableInterface) { $elements = $renderable->getRenderablesRecursively(); } else { $elements = [$renderable]; } $as = $this->arguments['as']; $output = ''; foreach ($elements as $element) { $output .= $this->renderingContext->getViewHelperInvoker()->invoke( RenderFormValueViewHelper::class, [ 'renderable' => $element, 'as' => $as, ], $this->renderingContext, $this->renderChildren(...), ); } return $output; } }