Zum Inhalt springen

Condition: Datenstruktur

Erstellt am 20. Oktober 2009 · 5 Antworten · letzte Antwort am 13. November 2009

Tags: Frage

sukram ·

Hallo,

ich bin derzeit dabei an meiner Seite ein wenig rumzuspielen und bin nun auf einen Fall gestoßen in dem ich eine Condition einbauen die vergleicht ob die aktuelle Seite die Datenstruktur xy benutzt.

Im Prinzip also ähnlich der Condition PIDinRootline nur eben mit der Templavoila Datenstruktur (alternativ auch das Vorlagenobjekt). Gibt es dort eine Möglichkeit?

Liebe Grüße und Danke im Voraus
sukram

sukram ·

Hallo froemken,

froemken schrieb

Willst du, dass sich ein FCE je nach Datenstruktur anders verhält?

Im Prinzip ja. Ich suche nach einer Lösung mit der ich zum Beispiel die Bildbreiten abhängig vom Seitentyp konfigurieren kann. In anderen Fällen nutze ich Conditions für solche Dinge. Um den Seitentyp abzufragen habe ich allerdings bisher noch nichts gefunden.

LG
sukram

froemken ·

Arbeitest du auf Basis von TypoScript oder eigene Extension?

Bei TypoScript kannst du auf die aktuelle Seite zugreifen mit:
TSFE:page|[Tabellenspalte]

zum Beispiel so:
TSFE:page|uid //Seiten ID
TSFE:page|doctype //Seitenart
TSFE:page|title //Seitentitel

In einer Extension machst einfach ein:

print_r($GLOBALS['TSFE']->page);

Dann siehst du welche Tabellenfelder zur Verfügung stehen. So auch die beiden Tabellenfelder, um die templavoila-DS abzufragen.

Hilft Dir das schon?

Stefan

sukram ·

Hallo Stefan,

danke für die Antwort. Hat mich auf jeden Fall weiter gebracht. Ganz am Ziel bin ich aber leider noch nicht.

Derzeit sieht der Ausschnitt des XML in meinem Contente Element wie folgt aus:

	[globalVar = TSFE:page|tx_templavoila_ds = 2]
	10.file.maxW = 550
	[end]
	[globalVar = TSFE:page|tx_templavoila_ds = 1]
	10.file.maxW = 940
	[end]

Das greift allerdings nicht. Ich möchte hier erreichen, dass die maximale Breite auf der Startseite (DS = 1) für dieses Element auf 940 Pixel begrenzt wird und auf einer normalen Inhaltsseite (DS = 2) auf 550 Pixel.

Wenn ich das Element so auf einer Seite platziere werden die Bilder allerdings auf beiden Seiten auf 800 Pixel runtergerechnet. Ich vermute, dass das Element in dem Moment wo ich es platziere und das Bild berechnet wird, nicht auf die Variable zugreifen kann und daher den Wert nicht richtig setzt.

Gibt es trotzdem eine Möglichkeit die maximale Breite eines Bildes abhängig von der aktuellen Templavoila Datenstruktur zu setzen?

Liebe Grüße
sukram

froemken ·

Schau dir bitte mal die if-Eigenschaft von TypoScript an:

10 = TEXT
10.if.value = 2
10.if.equals.data = TSFE:page|tx_templavoila_ds
10.value = Ich bin ein Text, der nur angezeigt wird, wenn tx_templavoila_ds = 2 ist

Stefan