Typo3: Eigenen CType in "Typischer Seiteninhalt" einfügen
Aus LagoWiki
Typo3 Version vor 4.3
Es ist nicht möglich, neue Seitenelemente über TypoScript einzufügen, da die "Typischen Seiteninhalte" über PHP definiert werden.
Man muss die neuen Seitenelemente im Quellcode von TYPO3 definieren: Unter typo3/sysext/cms/layout/db_new_content_el.php in der Funktion wizardArray()
Hier einfach ein Element duplizieren, also z.B. "Normaler Text"
'common_regularText' => array( // Regular text element 'icon'=>'gfx/c_wiz/regular_text.gif', 'title'=>$LANG->getLL('common_regularText_title'), 'description'=>$LANG->getLL('common_regularText_description'), 'tt_content_defValues' => array( 'CType' => 'text' ) ),
und dann die ensprechenden Felder überschreiben (icon, title, description und CType).
Quelle: http://www.typo3.net/index.php?id=13&action=list_post&code_numbering=0&tid=69868&page=1
Ab typo3 Version 4.3
Ab typo3 Version 4.3 gibt es die Möglichkeit das ganze per typoscript zu erstellen. Dazu wird im Seiten TSConfig (pageTSconfig) unter mod.wizards.newContentElement.wizardItems.header das folgende Typoscript eingefügt.
## neues content element in der wizzard liste hinzufügen mod.wizards.newContentElement.wizardItems.header { header = LLL:EXT:lp_iphone/locallang.xml:header_iphone_category elements.iPhoneText { icon = ../typo3conf/ext/lp_iphone/icon_tx_lpiphone_contentwizard.gif title = iPhone Item description = Inhaltselement für das iPhone-CMS tt_content_defValues { CType = lp_iphone_pi1 } } } mod.wizards.newContentElement.wizardItems.header.show = iPhoneText
Dieses Beispiel setzt voraus, dass in der Sprachdatei LLL:EXT:lp_iphone/locallang.xml die Übersetzung header_iphone_category definiert ist, dass das icon sich an der Stelle ../typo3conf/ext/lp_iphone/icon_tx_lpiphone_contentwizard.gif befindet und dass ein CType namens lp_iphone_pi1 existiert.
Soll das ganze in einer Extension automatisch funktionieren, bindet man das TypoScript Fragment in die Datei pageTSconfig.txt ein, die sich im root Verzeichnis der Extension befinden muss. Außerdem muss in die Datei namens ext_conf_template.txt so etwas wie
# cat=basic/enable; type=boolean; label=Set PageTSconfig by default: If you are going to use this extension by # default in this database then set this flag. In that case you don't need to set specific PageTSconfig for each # page, which you have to do otherwise! setPageTSconfig = 1
Sollte das nachträglich in die Extension hinzugefügt werden, muss diese unbedingt deinstalliert werden und wieder installiert werden, damit es Funktioniert! Einfaches Cache löschen genügt nicht!
Quelle (unter anderem): http://www.typo3-wink.de/extensions/eigenes-plugin-im-new-content-wizard-unter-typischer-seiteninhalt-einfugen/