コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
 /**
  * @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();
 }