32 return self::getObjectManager()->get(
'TYPO3\\CMS\\Workspaces\\Service\\AdditionalColumnService');
39 return \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
50 public function register($columnName, $dataProviderClassOrObject) {
51 if (is_object($dataProviderClassOrObject)) {
52 $dataProvider = $dataProviderClassOrObject;
58 throw new \RuntimeException(
'Data provider needs to implement ColumnDataProviderInterface', 1374309323);
61 $this->columns[$columnName] = $dataProvider;
70 $columnSettings = array();
71 foreach ($this->columns as $columnName => $dataProvider) {
72 $definition = $dataProvider->getDefinition();
74 if (!is_array($definition)) {
75 $definition = array();
78 $definition[
'name'] = $columnName;
79 $columnSettings[] = $definition;
81 return $columnSettings;
91 $columnSettings = array();
92 foreach ($this->columns as $columnName => $_) {
93 $columnSettings[] =
'TYPO3.Workspaces.extension.AdditionalColumn.' . $columnName;
95 return $columnSettings;
104 public function getData(\
TYPO3\CMS\Workspaces\Domain\Model\CombinedRecord $combinedRecord) {
105 $recordData = array();
106 foreach ($this->columns as $columnName => $dataProvider) {
107 $data = $dataProvider->getData($combinedRecord);
109 if ($data !== NULL) {
110 $recordData[$columnName] = $data;
static getObjectManager()
static makeInstance($className)
getData(\TYPO3\CMS\Workspaces\Domain\Model\CombinedRecord $combinedRecord)