“Zweite Optionspalette” in eigener TYPO3-Extension benutzen
/ Autor: Albrecht, 21 Nov 2008Wer seine Extensions mit dem Extension Kickstarter anlegt kennt wahrscheinlich das Problem, dass dieser alle Felder für das Standard-Formular anlegt und die “Zweite Optionspalette”, die sich zur Übersichtlichkeit ein- und ausblenden lässt, nicht nutzt. Mit einem manuellen Eingriff in die Datei tca.php lassen sich Felder ganz leicht in die “Zweite Optionspalette” verschieben.
Nehmen wir als Beispiel eine Extension mit drei Haupt-Eingabefeldern und zwei bzw. einem Zusatzeingabefeld. Die vom Kickstarter erzeugte Datei tca.php könnte in etwa so aussehen …
$TCA["tx_extensionkey"] = array (
// ...
"types" => array (
"0" => array("showitem" => "firstfield;;;;1-1-1, secondfield,
secondfield_a, secondfield_b,
thirdfield, thirdfield_a")
),
"palettes" => array (
"1" => array("showitem" => "")
)
);
… und im TYPO3-Backend würden alle Haupt- und Zusatzfelder gleichwertig angezeigt werden. Um die zweite Optionspalette zu nutzen, müssen wir uns die mit ; getrennten Konfigurationsmöglichkeiten eines jeden Feldes genauer anschauen. Die Dokumentation zur TYPO3 Core API erläutert diese Konfigurations-Möglichkeiten wie folgt:
- Part 1: Fieldname reference (Required!)
- Part 2: Alternative fieldlabel (LS)
- Part 3: Palette number (referring to an entry in the “palettes” section).
- Part 4: Special configuration (splitted by colon ( : )), eg. ‘nowrap’ and ‘richtext[(list of keys or *)]‘ (see section later)
- Part 5: Form style codes (see section later)
Wir können also in der ['palettes']-Section des Arrays die Paletten konfigurieren und dann über Part 3 der Feldkonfiguration per Nummer zuordnen. Im Beispiel hier ist Palette 1 dem Feld secondfield und Palette 2 dem Feld thirdfield zugewiesen:
$TCA["tx_extensionkey"] = array (
// ...
"types" => array (
"0" => array("showitem" => "firstfield;;;;1-1-1, secondfield;;1,
thirdfield;;2")
),
"palettes" => array (
"1" => array("showitem" => "secondfield_a, secondfield_b"),
"2" => array("showitem" => "thirdfield_a"),
)
);


Leave a Reply