Hallo,
ich möchte gerne in meinem Typoscript eine Variable setzen, die ich später in einer If-Abfrage verwenden kann und dann auch einen anderen Weg gehen.
Mein TS:
page.10.marks.INHALT = COA
page.10.marks.INHALT {
5 = HTML
5.value = <div id="frameout_inhalt_rechts">
10 < styles.content.getRight
10.stdWrap.if.isTrue.numRows < styles.content.getRight
10.stdWrap.required = 1
10.stdWrap.innerWrap = <div id="frame_inhalt_rechts">[...]</div>
11 < styles.content.getRightZwei
11.stdWrap.if.isTrue.numRows < styles.content.getRightZwei
11.stdWrap.required = 1
11.stdWrap.innerWrap = <div id="frame_inhalt_rechts">[...]</div>
15 = HTML
15.value = </div>
20 < styles.content.get
20.stdWrap.innerWrap = <div id="inhalt_main"> | </div>
}
Es handelt sich um Auslesen von Content (wie wohl jeder erkennt). Nun will ich, wenn entweder die Spalte getRight oder Spalte getRightZwei Inhalt hat, den Inhalt von der normalen Spalte (get) anders wrappen.
Gibt es einen Weg, eine Variable bei 10 und 11 zu setzen, die später bei 20 abgerufen werden kann?
Lg David
So geht das meines wissens nach nicht.
Aber vielleicht kannst du das Ganze etwas mehr verschachteln.
Dann kannst du ganze wrappen...
hallo!
auf typo3forum.net hat man mir den tipp mit override gegeben. ich versuche mich schon die ganze zeit daran, aber es will nicht so recht klappen...
kann mir jemand vielleicht kurz override ein wenig genauer erklären? weil mit der tsref und anderen anleitungen komme ich nicht so ganz zurecht.
david
Hallo!
Mit Hilfe von override bin ich nun schonmal so weit gekommen, dass mir der Hauptinhalt (20) anders gewrappt wird, sobald getRight Inhalt hat. Jedoch wird 20 auch nur dann gewrappt 🙁 Wenn getRight keinen Inhalt hat, wird mir 20 gar nicht erst angezeigt im FE... Will aber!!! wie muss ich unten stehenden Code dann modifizieren?
page.10.marks.INHALT = COA
page.10.marks.INHALT {
5 = HTML
5.value = <div id="frameout_inhalt_rechts">
10 < styles.content.getRight
10.stdWrap.if.isTrue.numRows < styles.content.getRight
10.stdWrap.required = 1
10.wrap = <div id="frame_inhalt_rechts">[...]</div>
11 < styles.content.getRightZwei
11.stdWrap.if.isTrue.numRows < styles.content.getRightZwei
11.stdWrap.required = 1
11.wrap = <div id="frame_inhalt_rechts">[...]</div>
15 = HTML
15.value = </div>
20 < styles.content.get
20.stdWrap.innerWrap = <div id="inhalt_main" style="background-color:#c0c0c0;"> | </div>
20.stdWrap.if.isTrue.numRows < styles.content.getRight
20.required = 1
20.stdWrap.innerWrap.override = <div id="inhalt_main" style="background-color:#FF0000;">|</div>
}
Na dann poste ich mal meine Lösung selbst...
Ich habe ein eigene Condition in der localconf.php erstellt
case ('inhalt_rechts'):
$pageid = $GLOBALS['TSFE']->id;
$sqlbefehl = "SELECT * FROM tt_content WHERE (pid = $pageid) AND ((colPos = 1) OR (colPos = 2) OR (colPos = 3) OR (colPos = 4)) AND (hidden = 0) AND (deleted = 0);";
$sql = mysql_query ($sqlbefehl);
$anzahl_eintraege = mysql_num_rows($sql);
if ($anzahl_eintraege > 0)
return true;
break;
und mein Typoscript wie folgt geändert:
temp.inhalt = COA
temp.inhalt {
5 = HTML
5.value = <div id="frameout_inhalt_rechts">
10 < styles.content.getRightEins
10.stdWrap.if.isTrue.numRows < styles.content.getRightEins
10.stdWrap.required = 1
10.wrap = <div id="frame_inhalt_rechts"> | </div>
12 < styles.content.getRight
12.stdWrap.if.isTrue.numRows < styles.content.getRight
12.stdWrap.required = 1
12.wrap = <div id="frame_inhalt_rechts"> | </div>
14 < styles.content.getRightDrei
14.stdWrap.if.isTrue.numRows < styles.content.getRightDrei
14.stdWrap.required = 1
14.wrap = <div id="frame_inhalt_rechts"> | </div>
16 < styles.content.getRightVier
16.stdWrap.if.isTrue.numRows < styles.content.getRightVier
16.stdWrap.required = 1
16.wrap = <div id="frame_inhalt_rechts"> | </div>
18 = HTML
18.value = </div>
}
temp.inhalt.20 < styles.content.get
[userFunc = user_match(inhalt_rechts)]
temp.inhalt.20.wrap = <div id="inhalt_main" style="margin-right:180px;"> | </div>
[ELSE]
temp.inhalt.20.wrap = <div id="inhalt_main"> | </div>
[END]
anders war da wohl nicht mehr zu helfen ...