2 namespace TYPO3\CMS\Backend\Form\Container;
35 $table = $this->data[
'tableName'];
36 $row = $this->data[
'databaseRow'];
37 $fieldName = $this->data[
'fieldName'];
38 $parameterArray = $this->data[
'parameterArray'];
39 $flexFormDataStructureArray = $this->data[
'flexFormDataStructureArray'];
40 $flexFormRowData = $this->data[
'flexFormRowData'];
45 $sheetName = array_pop(array_keys($flexFormDataStructureArray[
'sheets']));
46 $flexFormRowDataSubPart = $flexFormRowData[
'data'][$sheetName][
'lDEF'] ?: [];
49 unset($flexFormDataStructureArray[
'meta']);
51 if (!is_array($flexFormDataStructureArray[
'sheets'][$sheetName][
'ROOT'][
'el'])) {
52 $resultArray[
'html'] =
'Data Structure ERROR: No [\'ROOT\'][\'el\'] element found in flex form definition.';
59 $parameterArray[
'_cshKey'] = $table .
'.' . $fieldName;
60 foreach ($dsPointerFields as $key) {
61 if ((
string)$row[$key] !==
'') {
62 $parameterArray[
'_cshKey'] .=
'.' . $row[$key];
67 $options[
'flexFormDataStructureArray'] = $flexFormDataStructureArray[
'sheets'][$sheetName][
'ROOT'][
'el'];
68 $options[
'flexFormRowData'] = $flexFormRowDataSubPart;
69 $options[
'flexFormFormPrefix'] =
'[data][' . $sheetName .
'][lDEF]';
70 $options[
'parameterArray'] = $parameterArray;
72 $options[
'renderType'] =
'flexFormElementContainer';
73 return $this->nodeFactory->create($options)->render();