Typo3: Eigenen CType in "Typischer Seiteninhalt" einfügen

Aus LagoWiki

Wechseln zu: Navigation, Suche

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/

Persönliche Werkzeuge
Lagopixel