Hallo,
ich möchte einen Text zweispaltig auf eine Webseite bringen, allerdings nur, wenn eine Bedingung erfüllt ist.
Ansatzweise geht es so
tt_content.text {
20 = TEXT
20 {
field = bodytext
required = 1
split = COA
split {
token = ###SPLITTER###
cObjNum = 1 || 2
1.current = 1
1.if.equals.field = section_frame
1.if.value = 70
1.wrap = <table border="0" cellpadding="0" cellspacing="3"><tr><td valign="top"> | </td>
2.current = 1
2.if.equals.field = section_frame
2.if.value = 70
2.wrap = <td valign="top"> | </td></tr></table>
}
}
}
Allerdings wird so, wenn secteion_frame ungleich 70 ist gar kein Text mehr dargestellt. Ich würde hingegen gerne das "split" komplett deaktivieren, wenn der Wert nicht übereinstimmt, also mit der Bedingung direkt beim "split" ansetzen.
Oder noch besser, kein "split" wenn ###SPLITTER### nicht im Text vorkommt.
Hat da jemand einen Tip, ich habe leider nichts dazu gefunden?
Beste Grüße
Niklas
Eine neu Idee zum selben Problem, die schon ein wenig besser funktioniert:
tt_content.text {
30 = COA
30.if.equals.field = section_frame
30.if.value = 70
30 {
10 < tt_content.text.20
10.split = COA
10.split {
token = ###SPLITTER###
token.required=1
cObjNum = 1 || 2
1.current = 1
1.wrap = <table border="0" cellpadding="0" cellspacing="3"><tr><td valign="top"> | </p></td>
2.current = 1
2.wrap = <td valign="top"><p> | </td></tr></table>
}
}
}
Jetzt wird der Text, der in css_styled_content bei "20" erstellt wird nicht mehr vom "split" beeinflusst
# *****************
# CType: text
# *****************
tt_content.text = COA
tt_content.text {
10 = < lib.stdheader
20 = TEXT
20 {
field = bodytext
required = 1
parseFunc = < lib.parseFunc_RTE
editIcons = tt_content:bodytext, rte_enabled
editIcons.beforeLastTag = 1
editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.bodytext
prefixComment = 2 | Text:
}
}
Der Nachteil ist, wenn "section_frame" auf "70" steht, steht der Text doppelt auf der Seite, einmal normal und einmal zweispaltig.
Für diese Fall müßten man "20" wieder löschen, nur wie?
Beste Grüße
Niklas
Hallo Niklas,
ich empfehle dir die Extension "multicolumn". Die ist wirklich klasse.
Wenn Du es dennoch mit eigenem TS machen möchtest, kommst Du wahrscheinlich um ein Case Object nicht rum. So in die Richtung wie unten.
temp.standard < tt_content.text
temp.zweispaltig < tt_content.text.20
temp.zweispaltig.split
.....etc.
tt_content.text = CASE
tt_content.text {
key.field = section_frame
default < temp.standard
0 < temp.standard
10 < temp.webkat
20 < temp.benefit
70 < temp.zweispaltig
}
Danke für die Antwort, das sieht ganz gut aus, sobald ich wieder etwas Zeit habe, werde ich mein TS einmal umbauen. "multicolumn" kenne ich auch und setze ich auch ein, allerdings habe ich dabei im Falle meines Vorhabens den Eindruck, mit Kanonen auf Spatzen zu schießen.
Beste Grüße
Niklas
Wenn auch schon einige Zeit vergangen ist, ich habe den Vorschlag von udowald noch einmal aufgegriffen. Hier das zugehörige Typoscript
temp.standard < tt_content.text
temp.zweispaltig < tt_content.text.20
temp.zweispaltig.split = COA
temp.zweispaltig.split {
token = ###SPLITTER###
token.required=1
cObjNum = 1 || 2
1.current = 1
1.wrap = <table border="0" cellpadding="0" cellspacing="3"><tr><td valign="top"> | </p></td>
2.current = 1
2.wrap = <td valign="top"><p style="display:none"> | </td></tr></table>
}
tt_content.text = CASE
tt_content.text {
key.field = section_frame
default < temp.standard
0 < temp.standard
230 < temp.zweispaltig
}
Besten Dank,
Niklas