---
title: "typolink und if"
url: "https://www.typo3.net/d/119088-typolink-und-if"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Frage","Gridelements"]
created: "2014-10-25"
last_reply: "2014-10-31"
replies: 5
solved: false
page: 1
pages: 1
lang: "de"
---

# typolink und if

TYPO3 › TypoScript · 5 Antworten · gestartet 2014-10-25

## Eröffnungsbeitrag

**wini2** · 2014-10-25 · [Beitrag #1](https://www.typo3.net/d/119088-typolink-und-if/1)

hallo,

ich würde gerne folgendes typoscript so ändern, dass sich die ausgabe von

wrap = |<span class="pull-right glyphicon glyphicon-chevron-down"></span>
in
wrap = |<span class="pull-right glyphicon glyphicon-chevron-up"></span>

ändert, abhängig davon, ob ein feld namens 'flexform_active' vom redakteur ausgewählt wurde.

das ts sieht so aus:

```typoscript
tt_content.gridelements_pi1.20.10.setup.collapsible_accordion >
tt_content.gridelements_pi1.20.10.setup.collapsible_accordion {

  # Build: <div class="panel-heading">|</div>
	innerWrap.cObject < lib.stdheader
	innerWrap.cObject {
		wrap = <div class="panel-heading">| </div>
		3.headerClass.cObject.928374 = TEXT
		3.headerClass.cObject.928374 {
			value = panel-title 
			noTrimWrap = | | |
		}

	
		10.setCurrent.typolink {
			parameter >
			parameter = #collapse-{field: uid} 
			parameter.insertData = 1
			ATagParams = class="accordion-toggle" data-toggle="collapse" 
			ATagParams.insertData = 1

			ATagBeforeWrap = 1
			wrap = |<span class="pull-right glyphicon glyphicon-chevron-down"></span>
	
			}
		
		stdWrap.dataWrap = |
	}
	
	...
```

müsste es nicht ungefähr so funktionieren?

```typoscript
   if.isTrue.data = field:flexform_active
   wrap = |<span class="pull-right glyphicon glyphicon-chevron-up"></span>
```

danke für eure hilfe

## Antworten

### [#2](https://www.typo3.net/d/119088-typolink-und-if/2) · toifel · 2014-10-27

Versuche es mal mit if.isTrue.field = flexform_active

oder if.isTrue.value.data = field:flexform_active

### [#3](https://www.typo3.net/d/119088-typolink-und-if/3) · OnkelEdi · 2014-10-27

Hallo wini2,

vielleicht auch nur:

```typoscript
if.isTrue.field = flexform_active
```

ob der Rest stimmt kann ich dir jetzt nicht sagen.
Vielleicht wars das ja auch schon.

Gruß
Eduard

Edit:
oha steht ja schon da oben sorry :)

### [#4](https://www.typo3.net/d/119088-typolink-und-if/4) · wini2 · 2014-10-27

hallo,
danke für die tipps, die helfen leider auch nicht.

möglicherweise besteht das problem darin, dass der wrap nicht beachtet wird, wenn flexform_active 0 zurückliefert. beim folgendem ts wird nur der wrap für die gesetzte checkbox angewendet. entspr. versuche für if.isFalse funtkionieren leider auch nicht, obwohl in der tsref steht "If the content is "false"... (empty or zero)".

```typoscript
...
#für checkbox nicht gesetzt
wrap = |<span class="pull-right glyphicon glyphicon-chevron-down">  {field:uid} {field:flexform_active} </span>
#für checkbox gesetzt
wrap.if.isTrue.data =  field:flexform_active
wrap.if.isTrue = |<span class="pull-right glyphicon glyphicon-chevron-up">active_on_load? {field:flexform_active}</span>
...
```

### [#5](https://www.typo3.net/d/119088-typolink-und-if/5) · wini2 · 2014-10-27

ich muss was nachtragen, was ich zuvor übersehen habe.

der simple wrap (ohne if) zeigt mir für {field:flexform_active} den nicht-checked-zustand mit 0 bzw. den checked-zustand mit 1 an - sieht soweit gut aus.

der checkbox-wert wird in einem gridelement [in verbindung mit der extension t3sbootstap]  gesetzt und offenbar so in im feld pi_flexform der tt_content gespeichert. augenscheinlich kann ich ihn aber nicht direkt auslesen/mit if wrappen.

```xml
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3FlexForms>
    <data>
        <sheet index="general">
            <language index="lDEF">
                <field index="active">
                    <value index="vDEF">0</value>
                </field>
                <field index="style">
                    <value index="vDEF">panel-default</value>
                </field>
            </language>
        </sheet>
    </data>
</T3FlexForms>
```

ist die checkobx gesetzt, ändert sich der wert in <value index="vDEF">**1**</value>.

es wäre toll, wenn mir jemand auf die sprünge helfen könnte, wie ich das entsprechend abragen und mit if wrappen kann.

schon mal vielen dank im voraus.

### [#6](https://www.typo3.net/d/119088-typolink-und-if/6) · Julian.​Hofmann · 2014-10-31

Hallo Zusammen.

Ich seh hier drei Probleme:

1. wrap ist nur vom Datentyp "wrap", d.h. hat **keine** Unterstützung für das if. Dafür müsste ein Wrap mit Datentyp "wrap /stdWrap" gewählt werden.

2. Wenn mit einer Eigenschaft zwei alternative Werte gesetzt werden sollen, dann muss zwangsläufig mit einem bedingten override gearbeitet werden.

3. Ist der Zugriff auf flexform-Werte aus TS heraus überhaupt möglich? Wüsste nicht, dass ich das mal gemacht oder gesehen habe...

Als Wrap, der etwa an gleicher Stelle in der Reihenfolge ausgeführt wird, jedoch stdWrap-Eigenschaften (und somit if) unterstützt, wäre z.B. outerWrap

```typoscript
10.setCurrent.typolink {
  wrap >
  outerWrap = |<span class="pull-right glyphicon glyphicon-chevron-down">
  outerWrap.override = |<span class="pull-right glyphicon glyphicon-chevron-up">
  outerWrap.override.if.isTrue.data = field:flexform_active
}
```

Zum Thema Flexform könnte die Mailingliste interessant sein: <http://lists.typo3.org/pipermail/typo3-german/2013-November/097366.html>

Viele Grüße
Julian

---

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