Individuelle Rahmen für Content Elemente

caticonslite_bm_alt

Um Inhaltselementen (engl. Content Elements) in TYPO3 ein individuelles Aussehen zu verpassen (z.B. Überschrift und Text in einer abweichenden Farbe), hat man die Möglichkeit vordefinierte Rahmen zu verwenden oder auch eigene festzulegen. Die Einstellung „Einrückung und Rahmen“ (engl. „Indentation and Frames„) befindet sich in den Eigenschaften jedes (Standard-)Inhaltselements auf der Registerkarte „Erscheinungsbild“ (engl. „Appearance„). Damit die Einstellung dargestellt wird, muss „Zweite Optionspalette anzeigen“ (engl. „Show secondary options (palettes)„) am Ende in den Eigenschaften aktiviert sein.

Abhängig davon, welcher Wert für „Einrückung und Rahmen“ ausgewählt wird, werden unterschiedliche CSS-Klassen im HTML-Quelltext ausgegeben. Die vordefinierte Option „Standardframe“ führt beispielsweise zur Ausgabe der CSS-Klasse „csc-default“.

Um einen individuellen Rahmen festzulegen, fügt man im PageTS folgende Zeilen ein:

TCEFORM.tt_content {
	section_frame.addItems.101 = Individueller Rahmen
	section_frame.addItems.102 = Weiterer individueller Rahmen
}

Die Zahlen „101“ und „102“ stehen in diesem Beispiel für die IDs der Rahmen (um nicht unbeabsichtigt vordefinierte Rahmen zu überschreiben sollten Zahlen größer als 100 gewählt werden), „Individueller Rahmen“ und „Weiterer individueller Rahmen“ für die Beschreibungen, die als Optionen angezeigt werden. Anstelle einer hardcodierten Beschreibung, wie in diesem Fall, ist der Verweis auf eine Sprachdatei empfehlenswert (z.B.: „section_frame.addItems.101 = LLL:EXT:webentwickler_at/Resources/Private/Language/locallang_ttc.xlf:section_frame.I.101“).

Im TypoScript-Setup muss noch das gewünschte Verhalten festgelegt werden:

tt_content.stdWrap.innerWrap.cObject {
	101 =< tt_content.stdWrap.innerWrap.cObject.default
	101.20.10.value = csc-frame csc-frame-individual
 
	102 = TEXT
	102.value = <div class="another-individual-frame">|</div>
}

In diesem Beispiel erfolgt das Rendering des Rahmens „[101] Individueller Rahmen“ analog zu den vordefinierten Rahmen und es können sämtliche css_styled_content-Eigenschaften (z.B. „Oberer Abstand“ (engl. „Top Margin“)) verwendet werden. Für „[102] Weiterer individueller Rahmen“ ist dies nicht der Fall und es wird ausschließlich o.g. HTML-Tag als Rahmen verwendet.