46 return GeneralUtility::makeInstance(ObjectManager::class);
56 public function register($columnName, $dataProviderClassOrObject)
58 if (is_object($dataProviderClassOrObject)) {
59 $dataProvider = $dataProviderClassOrObject;
61 $dataProvider = GeneralUtility::makeInstance($dataProviderClassOrObject);
65 throw new \RuntimeException(
'Data provider needs to implement ColumnDataProviderInterface', 1374309323);
68 $this->columns[$columnName] = $dataProvider;
79 foreach ($this->columns as $columnName => $dataProvider) {
80 $definition = $dataProvider->getDefinition();
82 if (!is_array($definition)) {
86 $definition[
'name'] = $columnName;
87 $columnSettings[] = $definition;
89 return $columnSettings;
100 $columnSettings = [];
101 foreach ($this->columns as $columnName => $_) {
102 $columnSettings[] =
'TYPO3.Workspaces.extension.AdditionalColumn.' . $columnName;
104 return $columnSettings;
116 foreach ($this->columns as $columnName => $dataProvider) {
117 $data = $dataProvider->getData($combinedRecord);
119 if ($data !==
null) {
120 $recordData[$columnName] = $data;