TCA-Paletten sind bei der Backend Konfiguration von TYPO3 ein hilfreiches Mittel, um zusammengehörige Felder zusammenzufassen. Auch können Paletten zum verstecken von Feldern dienen.
Bei den nicht-versteckten TCA Paletten werden die zu einer Palette gehörigen Felder einfach nur nebeneinander dargestellt.
Beispiel: Breite und Höhe eines Bildes in tt_content.
Der zweite Typ von Paletten sind die Erweiterungspaletten. Diese werden im TYPo3 Backend nur dann sichtbar, wenn auf das Handsymbol rechts neben dem Feld geklickt wurde. Andernfalls bleiben die Felder der Erweiterungspalette im TYPO3 Backend versteckt. Wurde ein Haken bei „Zweite Optionspalette anzeigen“ gesetzt, sind diese Felder ebenfalls sichtbar. Ein Beispiel:
Eine neue TCA Palette in eigener TYPo3 Extension erzeugen
Paletten liegen bei TYPO3 immer an folgender Position im TCA-Array:
$TCA[$tabellen_name]['palettes'][$paletten_nr]['showitem']
Bei der Definition zusätzlicher Paletten ist es wichtig, darauf zu achten, dass keine bestehenden Paletten überschrieben werden. Der folgende Code erzeugt beispielhaft eine neue Palette in tt_content:
// TCA von tt_content laden
t3lib_div::loadTCA('tt_content');
// Neue Felder hinzufügen
t3lib_extMgm::addTCAcolumns('tt_content',$tempColumns,1);
//Höchste existierende Palettennummer ermitteln und um 1 erhöhen
$palettenNr = max(array_keys($TCA['tt_content']['palettes'])) + 1;
// Neue Palette erzeugen
$TCA['tt_content']['palettes'][$palettenNr] = array();
$TCA['tt_content']['palettes'][$palettenNr]['showitem'] ='tx_magimgtitles_title_image_width, tx_magimgtitles_title_image_height';
Möchte man diese Palette nun als ständig sichtbare Palette ins TYPO3 Backen einfügen, so geht das über diesen Code:
$TCA['tt_content']['palettes'][$palette]['canNotCollapse']='1';
t3lib_extMgm::addToAllTCAtypes('tt_content','--palette--;LLL:EXT:magimgtitles/locallang_db.xml:tt_content.tx_magimgtitles_title_image;'.$palette.'', '', 'after:header');
Als zweite Optionspalette so:
t3lib_extMgm::addToAllTCAtypes('tt_content','tx_magimgtitles_title_image;;'.$palette.';;1-1-1', '', 'after:header');
Hey, sehr netter Beitrag, hat mir gerade weitergeholfen nicht stundenlang zu suchen müssen 🙂
PS: TYPO3 – nicht TYPo3 😉
LG aus einem verschneiten Österreich!
Bernhard, nicht Benhard 😉
LG aus dem herbstlichen Österreich!
eher Taipo-drei
Backend, nicht Backen 🙂
Was ist $palette in:
t3lib_extMgm::addToAllTCAtypes(‚tt_content‘,’tx_magimgtitles_title_image;;‘.$palette.‘;;1-1-1′, “, ‚after:header‘);
???