/** * @param \GIB\GradingTool\Domain\Model\Project $project * @param bool $languageOverlay * @return array */ public function getFlatProcessedDataSheet(\GIB\GradingTool\Domain\Model\Project $project, $languageOverlay = FALSE) { /** @var \TYPO3\Form\Factory\ArrayFormFactory $factory */ $factory = new \TYPO3\Form\Factory\ArrayFormFactory(); // todo overlay if needed $overrideConfiguration = $this->formPersistenceManager->load($project->getDataSheetFormIdentifier()); /** @var \TYPO3\Form\Core\Model\FormDefinition $formDefinition */ $formDefinition = $factory->build($overrideConfiguration); $flatDataSheetArray = array(); foreach ($project->getDataSheetContentArray() as $key => $value) { $formElement = $formDefinition->getElementByIdentifier($key); if ($formElement instanceof \TYPO3\Form\Core\Model\FormElementInterface) { $flatDataSheetArray[$key]['label'] = $formDefinition->getElementByIdentifier($key)->getLabel(); $flatDataSheetArray[$key]['type'] = $formDefinition->getElementByIdentifier($key)->getType(); $flatDataSheetArray[$key]['value'] = $value; } } return $flatDataSheetArray; }
/** * @param array $formDefinition * @param integer $currentPageIndex * @param string $presetName * @return string */ public function renderformpageAction($formDefinition, $currentPageIndex, $presetName = NULL) { if ($presetName === NULL) { $presetName = $this->settings['defaultPreset']; } $formFactory = new \TYPO3\Form\Factory\ArrayFormFactory(); $formDefinition = $formFactory->build($formDefinition, $presetName); $formDefinition->setRenderingOption('previewMode', TRUE); $form = $formDefinition->bind($this->request, $this->response); $form->overrideCurrentPage($currentPageIndex); return $form->render(); }