---
title: "if else Abfragen"
url: "https://www.typo3.net/d/39579-if-else-abfragen"
source: "typo3.net"
tags: ["Allgemein","Frage"]
created: "2006-03-15"
last_reply: "2006-03-17"
replies: 5
solved: false
page: 1
pages: 1
lang: "de"
---

# if else Abfragen

Allgemein · 5 Antworten · gestartet 2006-03-15

## Eröffnungsbeitrag

**lemmork** · 2006-03-15 · [Beitrag #1](https://www.typo3.net/d/39579-if-else-abfragen/1)

Hallo,

gibt es in typoscript die Möglichkeit verzweigungen anzulegen, wie es mit anderen Programmiersprachen mittels if, else, elseif oder ähnlichem gibt?
Ganz konkret habe ich folgendes Problem.
Ich habe einige Seiten, denen ich eine Grafik zugewiesen habe.
Diese kann ich ja über:
#Platzhalter Headgrafik hinzufügen
HEADLINE = IMAGE
HEADLINE.file.import = uploads/media/
HEADLINE.file.import.field = media
HEADLINE.file.listNum = 0
auslesen und anzeigen.

Für den Fall, dass es keine Grafik gibt, möchte ich, dass der subtitle bzw. title der Seite als Grafik ausgegeben wird, was in etwa so aussehen würde:
HEADLINE.file = GIFBUILDER
HEADLINE.file {
	backColor = #FFFFFF
	XY = 630, 36

#Textinhalt der Grafik
	10 = TEXT
	10.text.field = subtitle // title
	10.fontFile = fileadmin/difrarel/fonts/verdana.ttf
	10.fontSize = 25
	10.fontColor = #521E44
	10.niceText = 1
	10.offset = 5, 30

}

Im Prinzip zuche ich also irgendetwas, womit ich auslesen kann, ob das media-Feld gesetzt ist.

Ein weiterer Punkt, an dem eine Fallabfrage schön wäre ist eine Browserunterscheidung.
Ich möchte gerne je nach Browsertyp ein anderes Stylesheet laden.
page = PAGE
[WENN NETSCAPE]
page.stylesheet = fileadmin/style_netscape.css
[WENN IE]
page.stylesheet = fileadmin/style_ie.css

Hier stellt sich für mich auch noch die Frage, wie es mit dem Cache aussieht. Von einem anderen CMS kenne ich es so, dass ein Cache für jeden Browsertyp vorhanden ist. Ist dies bei Typo3 auch so?

Vielen Dank im Voraus
Heiko

## Antworten

### [#2](https://www.typo3.net/d/39579-if-else-abfragen/2) · woida · 2006-03-15

> Ein weiterer Punkt, an dem eine Fallabfrage schön wäre ist eine Browserunterscheidung.
> Ich möchte gerne je nach Browsertyp ein anderes Stylesheet laden.
> page = PAGE
> [WENN NETSCAPE]
> page.stylesheet = fileadmin/style_netscape.css
> [WENN IE]
> page.stylesheet = fileadmin/style_ie.css

Nennt sich Conditions:
Eine Referenz gibts unter <https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Conditions/Index.html>, beschrieben werden sie zb. in <http://www.typo3.net/uploads/media/dokumentation.pdf>

Zu dem Thema gibt es auch schon Posts, die du sicher über die Forumssuche findest.

Im Cache wird dann an der Stelle, an der das CSS eingebunden werden soll ein Marker gespeichert, der dann bei der Auslieferung der Seite ausgefüllt wird. Also nur ein Cache für alle Browser.

### [#3](https://www.typo3.net/d/39579-if-else-abfragen/3) · lemmork · 2006-03-16

Hallo,

die Browserweiche konnte ich realisieren. Danke.

Somit bleibt mein ursprüngliches Problem, die Überprüfung, ob ein Mediafile vorhanden ist.
Wird das auch mit Conditions gelöst?
Ich hab einmal folgendes, leider ohne Erfolg versucht:

# Erstmal versuchen die Datei zu laden
page.10.marks.HEADLINE.HEADLINE = IMAGE
page.10.marks.HEADLINE.file.import = uploads/media/
page.10.marks.HEADLINE.file.import.field = media
page.10.marks.HEADLINE.file.listNum = 0

# Jetzt versuche ich zu überprüfen, ob die Grafik eine Breite von 0 hat. Sprich nicht vorhanden ist.
[page.10.marks.HEADLINE.file.width = 0]
	page.10.marks.HEADLINE.file = GIFBUILDER
	page.10.marks.HEADLINE.file {
			backColor = #FFFFFF
			XY = 630, 36

			#Textinhalt der Grafik
			10 = TEXT
			10.text.field = subtitle // title
			10.fontFile = fileadmin/difrarel/fonts/verdana.ttf
			10.fontSize = 25
			10.fontColor = #521E44
			10.niceText = 1
			10.offset = 5, 30
		}
[global]

Kann ich mit Conditions überhaupt solche Vergleiche machen, oder muss ich dafür irgendetwas anderes (if oder stdWrap) verwenden.
Ich bin neu in Typoscript und noch nicht so richtig mit der Struktur der Sprache vertraut.
Daher wäre ein Beispiel toll.

Danke
Heiko

### [#4](https://www.typo3.net/d/39579-if-else-abfragen/4) · Unbekannter Benutzer · 2006-03-16

Schau Dir mal "override" an, das ist genau für sowas vorgesehen. Du legst erst mal Deine Standardausgabe fest (hier: GIFBUILDER, Seitentitelgrafik) und falls in den Dateien im Seitentitel was eingefügt ist greift override und überschreibt die Standardausgabe.

Viele Grüße
Niki

### [#5](https://www.typo3.net/d/39579-if-else-abfragen/5) · lemmork · 2006-03-16

Hallo Niki,

folgendes hab ich jetzt versucht,

page.10.marks.HEADLINE = IMAGE
page.10.marks.HEADLINE.file = GIFBUILDER
page.10.marks.HEADLINE.file {
	backColor = #FFFFFF
	XY = 630, 36

	#Textinhalt der Grafik
	10 = TEXT
	10.text.field = subtitle // title
	10.fontFile = fileadmin/fonts/verdana.ttf
	10.fontSize = 25
	10.fontColor = #521E44
	10.niceText = 1
	10.offset = 5, 30
}

page.10.marks.HEADLINE.file.override.import = uploads/media/
	page.10.marks.HEADLINE.file.override.import.field = media
	page.10.marks.HEADLINE.file.override.listNum = 0

Leider funktioniert das nicht, ich bekomme mit diesem Script nur die generierten Bilder ausgegeben.
Wahrscheinlich hab ich aber auch nicht die Funktionsweise von override verstanden.
Für den Fall, dass eine Grafik vorhanden ist, müsste ich doch auch die Zuweisung
page.10.marks.HEADLINE.file = GIFBUILDER
wieder löschen, oder? Denn wenn eine Grafik vorhanden ist, soll diese ja nicht von GIFBUILDER aufbereitet werden.

Gruß
Heiko

### [#6](https://www.typo3.net/d/39579-if-else-abfragen/6) · lemmork · 2006-03-17

Hallo Forum,

ich habe jetzt eine für mich befriedigende Lösung gefunden.
Ich erstelle einfach eine Grafik mittels des GifBuilders und lege in den zweiten Layer die zugeordnete Grafik. Wenn es keine Grafik gibt erscheint der Text, ansonsten liegt die Grafik über dem Text. Sieht dann so aus:

page.10.marks.HEADLINE = IMAGE
page.10.marks.HEADLINE  {
		file = GIFBUILDER
		file {
			backColor = #FFFFFF
			XY = 630, 36 + [20.h]

			#Textinhalt der Grafik
			10 = TEXT
			10.text.field = subtitle // title
			10.fontFile = fileadmin/fonts/verdana.ttf
			10.fontSize = 25
			10.fontColor = #521E44
			10.niceText = 1
			10.offset = 5, 30

			20 = IMAGE
			20.file.import = uploads/media/
			20.file.import.field = media
			20.file.listNum = 0

		       }
		  }

Damit kann ich mich erstmal so zufrieden geben, wobei es natürlich noch einen Punkt gibt, den ich gerne schöner machen würde.
Die Höhe der Textgrafiken soll 36 Pixel betragen. Die alternativen Grafiken, die sich über die Texte legen sollen haben eine variable Höhe. Wenn es eine Grafik gibt kann ich mir die Höhe der Grafik ja über [20.h] zurückgeben lassen. Diesen Wert addiere ich bei file.XY einfach hinzu (XY = 630, 36 + [20.h]). Dadurch wird meine Grafik aber 36Pixel höher, als diese sein müsste.
Daher meine Frage, was steht in 20.h, wenn es keine Grafik gibt (0 oder undefined)? Und kann ich diesen Wert mittels Conditions überprüfen? Vielleicht über einen umweg diesen Wert in einer globalen Variable zwischenzuspeichern?

Würd mich freuen, wenn jemand dazu eine Lösung weiß.

Danke
Heiko

---

Quelle: „if else Abfragen“, typo3.net, https://www.typo3.net/d/39579-if-else-abfragen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
