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:
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?
if.isTrue.data = field:flexform_active
wrap = |<span class="pull-right glyphicon glyphicon-chevron-up"></span>
danke für eure hilfe
Versuche es mal mit if.isTrue.field = flexform_active
oder if.isTrue.value.data = field:flexform_active
Hallo wini2,
vielleicht auch nur:
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 🙂
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)".
...
#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>
...
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 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.
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
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