Für die individuellen Content Elemente wird idealerweise eine eigene Extension erstellt. Ebenso ist die Integration in bestehende Extensions möglich. Wir verwenden hier die erste Variante. Nachfolgend die erforderlichen Dateien (im Extension Verzeichnis) einer fiktiven Extension "Custom Content Elements" (Extension Key "cce") mit einem individuellen Inhaltselement "Teaser".

Die Daten des Inhaltsementes stehen im Fluid-Template in der Variablen "{data}" zur Verfügung. Bei der Ausgabe von Bildern muss, sofern diese FAL (File Abstraction Layer) nutzen, ein zusätzlicher ViewHelper implementiert werden. Beispiele finden sich ausreichend im Netz, z.B. unter dem Suchbegriff "FalViewHelper".

ext_tables.php

<?php

if (!defined('TYPO3_MODE')) {
	die ('Access denied.');
}

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Custom Content Elements');

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
	mod.wizards.newContentElement.wizardItems.common.elements {
		cce_teaser {
			icon = gfx/c_wiz/regular_text.gif
			title = Teaser
			description = Teaser (Custom Content Elements)
			tt_content_defValues.CType = cce_teaser
		}
	}
	mod.wizards.newContentElement.wizardItems.common.show := addToList(cce_teaser)
');

$TCA['tt_content']['columns']['CType']['config']['items'][] = 
    array(
        'Custom Content Elements',
        '--div--'
    );

$TCA['tt_content']['columns']['CType']['config']['items'][] = 
    array(
        'Teaser (Custom Content Elements)',
        'cce_teaser',
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif'
    ); 

$TCA['tt_content']['types']['cce_teaser']['showitem'] = '
    --palette--;LLL:EXT:cms/locallang_ttc.xml:palette.general;general,
    --palette--;LLL:EXT:cms/locallang_ttc.xml:palette.header;header,
    --div--;Text,
    bodytext;Text;;richtext:rte_transform[flag=rte_enabled|mode=ts_css], rte_enabled;LLL:EXT:cms/locallang_ttc.xml:rte_enabled_formlabel,
    --div--;Bilder,
    image,
    --div--;LLL:EXT:cms/locallang_ttc.xml:tabs.access,
    --palette--;LLL:EXT:cms/locallang_ttc.xml:palette.visibility;visibility,
    --palette--;LLL:EXT:cms/locallang_ttc.xml:palette.access;access,
';

?>

Configuration/TypoScript/setup.txt

tt_content.cce_teaser = COA
tt_content.cce_teaser {
    10 = FLUIDTEMPLATE
    10 {
        file = EXT:cce/Resources/Private/Templates/Teaser.html
        partialRootPath = EXT:cce/Resources/Private/Partials
        layoutRootPath = EXT:cce/Resources/Private/Layouts
    }
}

Resources/Private/Templates/Teaser.html

<f:debug>{data}</f:debug>




Kommentare

Tobi schrieb am 20.12.2015:
Thank you for sharing! +1 ;)
Shouldn't the mod.wizard have the same identifier "cce_teaser" ? right now it shows ccc_teaser.

TYPO3 Tiger schrieb am 19.01.2016:
Yes of course, Tobi. Thanks a lot :)