Esempio n. 1
0
 /**
  * Render a page from the formDefinition which was build by the form editor.
  * Use the frontend rendering and set the form framework to preview mode.
  *
  * @param array $formDefinition
  * @param int $pageIndex
  * @param string $prototypeName
  * @return string
  * @internal
  */
 public function renderFormPageAction(array $formDefinition, int $pageIndex, string $prototypeName = null) : string
 {
     $formDefinition = ArrayUtility::stripTagsFromValuesRecursive($formDefinition);
     $formDefinition = $this->convertJsonArrayToAssociativeArray($formDefinition);
     if (empty($prototypeName)) {
         $prototypeName = isset($formDefinition['prototypeName']) ? $formDefinition['prototypeName'] : 'standard';
     }
     $formFactory = $this->objectManager->get(ArrayFormFactory::class);
     $formDefinition = $formFactory->build($formDefinition, $prototypeName);
     $formDefinition->setRenderingOption('previewMode', true);
     $form = $formDefinition->bind($this->request, $this->response);
     $form->overrideCurrentPage($pageIndex);
     return $form->render();
 }