public function getExtensionName() { return $this->extensionName; }
/** * @param string $table * @param Form $form */ protected function processFormForTable($table, Form $form) { $extensionName = $form->getExtensionName(); $extensionKey = ExtensionNamingUtility::getExtensionKey($extensionName); $tableConfiguration = self::$tableTemplate; $fields = array(); $labelFields = $form->getOption(Form::OPTION_TCA_LABELS); $enableColumns = array(); foreach ($form->getFields() as $field) { $name = $field->getName(); // note: extracts the TCEforms sub-array from the configuration, as required in TCA. $fields[$name] = array_pop($field->build()); } if (TRUE === $form->getOption(Form::OPTION_TCA_HIDE)) { $enableColumns['disabled'] = 'hidden'; } if (TRUE === $form->getOption(Form::OPTION_TCA_START)) { $enableColumns['start'] = 'starttime'; } if (TRUE === $form->getOption(Form::OPTION_TCA_END)) { $enableColumns['end'] = 'endtime'; } if (TRUE === $form->getOption(Form::OPTION_TCA_FEGROUP)) { $enableColumns['fe_group'] = 'fe_group'; } $tableConfiguration['iconfile'] = ExtensionManagementUtility::extRelPath($extensionKey) . $form->getOption(Form::OPTION_ICON); $tableConfiguration['enablecolumns'] = $enableColumns; $tableConfiguration['title'] = $form->getLabel(); $tableConfiguration['languageField'] = 'sys_language_uid'; $showRecordsFieldList = $this->buildShowItemList($form); $GLOBALS['TCA'][$table] = array('ctrl' => $tableConfiguration, 'interface' => array('showRecordFieldList' => implode(',', array_keys($fields))), 'columns' => $fields, 'types' => array(0 => array('showitem' => $showRecordsFieldList))); if (TRUE === $form->getOption(Form::OPTION_TCA_DELETE)) { $GLOBALS['TCA'][$table]['ctrl']['delete'] = 'deleted'; } if (NULL === $labelFields) { reset($fields); $GLOBALS['TCA'][$table]['ctrl']['label'] = key($fields); } else { $GLOBALS['TCA'][$table]['ctrl']['label'] = array_shift($labelFields); $GLOBALS['TCA'][$table]['ctrl']['label_alt'] = implode(',', $labelFields); } }