Es gibt die Möglichkeit den Inhalt eines mit TemplaVoila erstellten FCE (Flexible Content Element) in ein TypoScript Objekt auszulagern. Dort kann man seinen eigenen Inhalt kreieren und wie gewohnt das FCE in die Seite einfügen.
Folgende Schritte sind nötig, damit dies möglich wird. Als erstes mal ein FCE mit dem Namen "meinInhalt" erstellen und dem eine simple Datenstruktur zuweisen. Als ROOT-Element den body-Tag und für das Inhaltselement (CE colPos 0) den div-Tag mit dem Namen "Inhalt". Für das benötigte Template kann man so etwas nehmen:
<htm>
<head>
<title>meinInhalt</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<div class="meinInhalt">
</div>
</body>
</html>
Als Ergebnis bekommt man nach dem Speichern in der FCE Datenstruktur eine XML Ausgabe die folgendermaßen aussieht:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta type="array">
<langDisable>1</langDisable>
</meta>
<ROOT type="array">
<tx_templavoila type="array">
<title>ROOT</title>
<description>Wählen Sie das HTML-Element der Seite, das Sie als übergeordnetes Container-Element der Vorlage möchten.</description>
</tx_templavoila>
<type>array</type>
<el type="array">
<field_Inhalt type="array">
<tx_templavoila type="array">
<title>Inhalt</title>
<description>Inhalt</description>
<sample_data type="array">
<numIndex index="0">Inhalt</numIndex>
</sample_data>
<eType>ce</eType>
<TypoScript>
10= RECORDS
10.source.current=1
10.tables = tt_content</TypoScript>
<preview></preview>
</tx_templavoila>
<TCEforms type="array">
<label>Inhalt</label>
<config type="array">
<type>group</type>
<internal_type>db</internal_type>
<allowed>tt_content</allowed>
<size>5</size>
<maxitems>200</maxitems>
<minitems>0</minitems>
<multiple>1</multiple>
<show_thumbs>1</show_thumbs>
</config>
</TCEforms>
</field_Inhalt>
</el>
</ROOT>
</T3DataStructure>
Um nun daraus die Inhalte in eine TypoScript "lib." auszulagern muss die XML Vorlage wie folgt umgeschrieben werden:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta type="array">
<langDisable>1</langDisable>
</meta>
<ROOT type="array">
<tx_templavoila type="array">
<title>ROOT</title>
<description>Wählen Sie das HTML-Element der Seite, das Sie als übergeordnetes Container-Element der Vorlage möchten.</description>
</tx_templavoila>
<type>array</type>
<el type="array">
<field_Inhalt type="array">
<tx_templavoila type="array">
<title>Inhalt</title>
<description>Inhalt</description>
<sample_data type="array">
<numIndex index="0">Inhalt</numIndex>
</sample_data>
<eType>ce</eType>
<TypoScript><![CDATA[
10 < lib.meinInhalt
]]></TypoScript>
<proc type="array">
<stdWrap></stdWrap>
</proc>
</tx_templavoila>
<TCEforms type="array">
</TCEforms>
</field_Inhalt>
</el>
</ROOT>
</T3DataStructure>
Abspeichern und das eben erstellte FCE als Inhaltselement (CE) in eine Seite einfügen. Im Anschluss den TypoScript Editor im Setup des Root-Templates auswählen und dort die "lib.meinInhalt" mit beliebigem Inhalt ausstatten. Das kann z.B. so aussehen:
lib.meinInhalt = COA
lib.meinInhalt {
10 = TEXT
10.value = HALLO ich stehe jetzt als Text über dem FCE
10.wrap = | Und ich stehe als wrapper unter dem FCE
}
Das ist natürlich nur ein simples Beispiel dafür was man inhaltlich für das FCE definieren kann. Möglich sind Menüstrukturen, Erweiterungen oder ähnliches. Viel Spaß beim probieren.