Hallo zusammen,
ich benutze folgende Typoscript Passage, um PIVars in eine Navi einzubringen:
additionalParams = &tx_myextension[firstkey]={GPvar:tx_myextension|firstkey}
additionalParams {
insertData = 1
# only append if actually set
if.isTrue.data = GPvar:tx_myextension|firstkey
}
Das funktioniert auch soweit prima. Jetzt möchte ich allerdings eine zweite PIvar hinzufügen, die aber durch eine andere Bedingung aufgerufen werden soll. Nämlich nicht nur (wie im ersten Beispiel) ob sie gesetzt ist, sondern auch ob die erste pivar gesetzt ist und die zweite pivar gesetzt ist und nicht einem bestimmten Wert entspricht.
Ich kann das jetzt aber nicht einfach mit in den ersten Abschnitt packen (s.o.), da dies zwangsläufig meine "firstkey" Variable beeinflussen würde. Wenn ich den gleichen Absatz nochmal dazu schreiben würde, würde er mir meine firstkey Bedingung damit überschreiben.
Meine Frage: Kann ich es mit typoscript überhaupt bewerkstelligen, mehrere pivars mit unterschiedlichen Bedingungen zu generieren?
Und falls ja, wie sähe das aus?
Grüße
Sven
Hallo,
additionalParams.cObject = COA
additionalParams.cObject {
10 = TEXT
20 = TEXT
}
ich hoffe verstädnlich
georg
das hatte ich bereits ohne Erfolg versucht. Allerdings mag es sein, dass ich mir irgendwo einen Syntaxfehler reingehauen habe. Werde ich gleich nochmal testen. Vorerst danke.
Habe es gerade nochmal getestet, aber nach wie vor ohne Erfolg. Vielleicht habe ich aber auch nach wie vor einen Fehler drin. Ich bin mir auch garnicht sicher ob ich so einfach ein Content Object aus dem additionalParams machen kann.
Hier mein Setup wie es nicht funktioniert:
...
stdWrap.override.cObject {
field = title
typolink.parameter.field = uid
typolink {
useCacheHash = 1
additionalParams.cObject = COA
additionalParams.cObject {
10 = &tx_myextension[firstkey]={GPvar:tx_myextension|firstkey}
10.insertData = 1
10.if.isTrue.data = GPvar:tx_myextension|firstkey
20 = &tx_myextension[scndkey]={GPvar:tx_myextension|scndkey}
20.insertData = 1
20.if.isTrue.data = GPvar:tx_myextension|scndkey
}
...
Ist das so korrekt?
dir fehlt ein 10 = TEXT und 20 = TEXT
additionalParams.cObject = COA
additionalParams.cObject {
10 = TEXT
10 = &tx_myextension[firstkey]={GPvar:tx_myextension|firstkey}
10.insertData = 1
10.if.isTrue.data = GPvar:tx_myextension|firstkey
20 = TEXT
20 = &tx_myextension[scndkey]={GPvar:tx_myextension|scndkey}
20.insertData = 1
20.if.isTrue.data = GPvar:tx_myextension|scndkey
}
Hallo,
und ganz korrekt heißts
10 = TEXT
10.value = &tx_myextension[firstkey]={GPvar:tx_myextension|firstkey}
georg
richtig, hab ich nicht aufgepasst :o
Wunderbar! So funktioniert das schonmal prima. Hatte wirklich die TEXT Definitionen vergessen. #angry#
Jetzt habe ich aber gleich die nächste Frage: Ich möchte für 20 mehrere if Bedingungen stellen.
Nämlich wie so etwas:
20.if.isTrue.data = GPvar:tx_myextension|scndkey && GPvar:tx_myextension|firstkey
Und dann soll auch noch geprüft werden, dass der scndkey nicht einem bestimmten Wert entspricht. Was in etwa so aussehen müsste:
20.if.isTrue.value.data = GPvar:tx_myextension|scndkey
20.if.isTrue.equals = forbidden_value
20.if.isTrue.negate = 1
Eine Idee?
Hallo,
häng eine userfunc rein und mach das ganze via php. Ich mag TYPO3 wirklich gern, aber zumindest jetzt gerade hab ich nicht den Nerv für was was anders schneller geht, sry
georg