Index: t3lib/class.t3lib_befunc.php =================================================================== --- t3lib/class.t3lib_befunc.php (revision 6485) +++ t3lib/class.t3lib_befunc.php (working copy) @@ -980,6 +980,7 @@ // Get fields list and traverse it $fieldList = explode(',', $typesConf['showitem']); + $paletteFieldList = array(); $altFieldList = array(); // Traverse fields in types config and parse the configuration into a nice array: @@ -998,7 +999,29 @@ if ($useFieldNameAsKey) { $altFieldList[$fieldList[$k]['field']] = $fieldList[$k]; } + if ($pPalette && $TCA[$table]['palettes'][$pPalette]) { + $paletteFields = t3lib_div::trimExplode(',', $TCA[$table]['palettes'][$pPalette]['showitem']); + foreach ($paletteFields as $paletteFieldName) { + $paletteFieldList[] = $paletteFieldName; + } + } } + foreach ($paletteFieldList as $paletteFieldName) { + $defaultExtras = is_array($TCA[$table]['columns'][$paletteFieldName]) ? $TCA[$table]['columns'][$paletteFieldName]['defaultExtras'] : ''; + $specConfParts = t3lib_BEfunc::getSpecConfParts('', $defaultExtras); + $addPaletteFieldToFieldList = array ( + 'field' => $paletteFieldName, + 'title' => '', + 'palette' => '', + 'spec' => $specConfParts, + 'origString' => $paletteFieldName + ); + if ($useFieldNameAsKey) { + $altFieldList[$paletteFieldName] = $addPaletteFieldToFieldList; + } else { + $fieldList[] = $addPaletteFieldToFieldList; + } + } if ($useFieldNameAsKey) { $fieldList = $altFieldList; }