Da sich in letzter Zeit bei mir die Arbeit mit Typo3 häufte, musste ich mich teils durch die Logik vom Content Management System Typo3 quälen.
Wer schon öfter mal Typo3 Extensions / Plugins bauen musste, wird schnell feststellen, dass man begrenzte Möglichkeiten beim Anlegen von neuen Seiteninhalten hat. Das Plugin / die Extension lässt sich zwar auswählen, jedoch würde man manchmal gerne noch eine Variable oder Daten übergeben, sodass der PHP-Code nur einen bestimmten Part ausführt.
Dafür wurde in Typo3 der sogenannte "Select Key" vorgesehen. Im Backend wird dieser mit "CODE:" und einem Eingabefeld dargestellt.
Um dieses Feld freizuschalten, muss in der "ext_tables.php" der jeweiligen Extension eine Codezeile manipuliert werden.Die "ext_tables.php" ist im Verzeichnis "typo3conf/ext/Extensionname/" zu finden.
Folgender Part muss abgeändert werden:
- $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key';
zu
- $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout';
Wird der Wert "select_key" entfernt, wird die CODE:BOX im Typo3 Backend freigeschaltet und eigene Übergaben können gemacht werden.
Im PHP-Code der Extension ist der CODE / Select-KEY über folgende Angabe aufzurufen, sollte $this->conf noch nicht existieren:
- $this->conf = $conf;
- $this->conf['CODE'] = $this->cObj->data['select_key'];
So solltet ihr viele Möglichkeiten mit einer Extension haben, um die Extension auf verschiedene Arten einzubinden.