Zum Inhalt springen

Typoscript mit Conditions in TV-Datenstruktur

Erstellt am 29. April 2006 · 3 Antworten · letzte Antwort am 7. Februar 2007

Tags: Frage

bkahle ·

Hallo,

ich möchte in meiner Templatevoila Datenstruktur eine Bedingung einfügen:

<field_content type="array">
	<tx_templavoila type="array">
	    <title>Page content</title>
	    <description>Map this to the container element for page content</description>
	    <sample_data type="array">
		<numIndex index="0">[Here goes my page content. Here goes my page content.]</numIndex>
	    </sample_data>
	    <eType>ce</eType>
	    <TypoScript>
	[globalVar = TSFE:page|pid=66]
	  10 = TEXT
	  10.value = Das ist ein Test
	[else]
	  10= RECORDS
	  10.source.current=1
	  10.tables = tt_content
	[end]
	[global]
	
...

Zwar geht die Condition bei Unterseiten von Seite 66 in den ersten Ablauf, jedoch wird kein Inhalt ausgegeben. Es sollte "Das ist ein Test" dort stehen. Alle anderen Seiten zweigen wie gewohnt den aktuellen Inhalt an.

Kann man keine Conditions in einer Datenstruktur nutzen ?

Gruss,
Björn

bkahle ·

Für alle, die das gleiche Problem haben: Lösen kann man es wohl nicht, aber ich habe einen Weg gefunden, es zum umgehen.

Die Condition habe ich in das Template geschrieben und dort eine neue Variable eingefügt:

[PIDinRootline = 66]
  lib.content = TEXT
  lib.content.value = Test
[else]
  lib.content = RECORDS
  lib.content.source.current = 1
  lib.content.tables = tt_content
[end]
[global]

Nun im TV-Mapping nicht "Content Elements" auswählen, sondern den Typoscript-Objektpfad zu lib.content umbiegen.

Gruss,
Björn

miwolfram ·
bkahle schrieb

Für alle, die das gleiche Problem haben: Lösen kann man es wohl nicht, aber ich habe einen Weg gefunden, es zum umgehen.

Die Condition habe ich in das Template geschrieben und dort eine neue Variable eingefügt:

Hmmm - ich seh da kein Problem.
Genauso soll es doch auch funktionieren - dafür ist der TypoScriptObjectPath doch da.

dooz ·

Ich habe ein ähnliches Problem... nur ich kann keine TSObjPath nehmen:

10 = TEXT
10.current = 1
10.parseFunc = &lt; lib.parseFunc_RTE
10.wrap = &lt;text&gt;&lt;![CDATA[|]]&gt;&lt;/text&gt;
[globalVar=GP:print=1]
10.wrap &gt;
10.wrap = &lt;div class="page"&gt;|&lt;/div&gt;
[end]

Ist zwar doof, is aber so. :-(