Zum Inhalt springen

Container for Elements zeitgesteuert

Erstellt am 17. September 2012 · 7 Antworten · letzte Antwort am 18. September 2012

Tags: Frage

bmiko ·

Hallo,
Ich möchte die Container for Elements zeitgesteuert haben.
Dazu habe ich schon zwei Datumsfelder Start/Stop unterhalb des Containers eingefügt.
Leider gibt es keine Möglichkeit dort mit typoScript zu arbeiten um die Bedingungen einzufügen.
Bsp.
10 = COA
10.if.value.data = date:U
10.if.isGreaterThen.field = field_start

Hat schon mal jemand sowas hin bekommen?
Viele Grüße
Björn

Clause ·

Hallo,
ich hoffe das ich Deine Frage richtig verstanden habe.

Aber in Typo3 hast Du doch diese Funktion schon standardmäßig im Reiter "Zugriff" unter Veröffentlichungsdatum und Zugriffsrechte.

Ansonsten kannst Du ja innerhalb der XML-Struktur von TemplaVoila TypoScipt Code einsetzen.

bmiko ·

Hallo Clause,
das ist natürlich richtig.
Es funktioniert nur nicht bei einem "Container for Elements". Bei mir zumindest nicht.

Clause ·

Richtig!
Aber Du willst das ja bestimmt auch nicht an den »Container for Elements« hängen.
Du wirst ja bestimmt die Anweisung auf ein Element oder der gleichen machen.
Un da steht es dann in der XML-Datenstruktur dann unter <Typoscript> drin.

bmiko ·
<root>
   <section>
       <containerFE>
           <ÜBERSCHRIFT>
           <BILD>
           <TEXT>
       </containerFE>
   </section>
</root>

so ungefähr sieht die Struktur aus.
der ContainerFE wiederholt sich ja dann X-Mal.
Und ich möchte das diese sich der Container sammt Inhalt Zeitsteuern lässt.

Clause ·

Na da würde ich ein FCE anlegen pro "ContainerFE", dass die Felder Überschrift, Bild und Text als Element angelegt hat.
Die einzelnen Felder kannst Du ja dann passend Mappen.
Und dem jeweiligen FCE kannst Du ja über die Funktion das Start- und Enddatum mitgeben.

Beispiel HTML-Template

<html>
<body>
<div class="containerFE">
    <h1>Hier deine Überschrift</h1>
    <img> Hier das Bild mappen</img>
    <p> Hier den Text mappen </p>
</div>
</body>
</html>

Das sieht dann in der XML-DS von TemplaVoila ungefähr so aus...

<?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_headline type="array">
				<tx_templavoila type="array">
					<title>Überschrift</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>input</eType>
					<proc type="array">
						<HSC type="integer">1</HSC>
						<stdWrap></stdWrap>
					</proc>
					<preview></preview>
				</tx_templavoila>
				<TCEforms type="array">
					<label>Überschrift</label>
					<config type="array">
						<type>input</type>
						<size>48</size>
						<eval>trim</eval>
					</config>
				</TCEforms>
			</field_headline>
			<field_bild type="array">
				<tx_templavoila type="array">
					<title>Bild</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>image</eType>
					<TypoScript>
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 200</TypoScript>
					<preview></preview>
				</tx_templavoila>
				<TCEforms type="array">
					<label>Bild</label>
					<config type="array">
						<type>group</type>
						<internal_type>file</internal_type>
						<allowed>gif,png,jpg,jpeg</allowed>
						<max_size>1000</max_size>
						<uploadfolder>uploads/tx_templavoila</uploadfolder>
						<show_thumbs>1</show_thumbs>
						<size>1</size>
						<maxitems>1</maxitems>
						<minitems>0</minitems>
					</config>
				</TCEforms>
			</field_bild>
			<field_text type="array">
				<tx_templavoila type="array">
					<title>Text</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>rte</eType>
					<TypoScript><![CDATA[10 = TEXT
10.current = 1
10.parseFunc = < lib.parseFunc_RTE]]></TypoScript>
					<proc type="array">
						<int>0</int>
						<HSC>0</HSC>
						<stdWrap></stdWrap>
					</proc>
					<preview></preview>
				</tx_templavoila>
				<TCEforms type="array">
					<label>Text</label>
					<config type="array">
						<type>text</type>
						<cols>48</cols>
						<rows>5</rows>
						<softref>typolink_tag,images,email[subst],url</softref>
					</config>
					<defaultExtras>richtext:rte_transform[flag=rte_enabled|mode=ts_css]</defaultExtras>
				</TCEforms>
			</field_text>
		</el>
	</ROOT>
</T3DataStructure>
bmiko ·

Hi Clause,
vielen Dank für die Mühe die Du dir machst.
Aber das ist nicht das was ich möchte.
Der "Container for Elements" in dem FCE wird mit verschiedenen Inhalten mehrfach dargestellt. Und diese einzelnen CfEs möchte ich Zeitgesteuert haben.

Clause ·

Hallo bmiko,
ja das geht doch auch, Du musst einfach Dein TypoScript in dein Feld "field_start" <Typoscript> setzen.

Der Reihe nach...
Würde in Templa Voila ein Feld machen wo Du Dein Datum einträgst (field_start).
Das würde ich aber nicht mappen.
Dann kannst Du ja bei <Typoscript> Deine Code, den Du schon geschrieben hast rein setzen. Wo Du deine Abfrage machst.

<TypoScript>
10 = COA
10.if.value.data = date:U
10.if.isGreaterThen.field = field_start
</TypoScript>