Hallo,
ich habe da ein kleines Problem und komme nicht weiter:
In meinem TS setze ich die HTML-Attribute standardmäßg mit:
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de_DE" lang="de_DE"
Nun möchte ich jedoch auf speziellen Seiten den Wert überschreiben und zwar immer dann, wenn im Feld tx_realurl_path der Seite der Wert "hotel" eingetragen ist. Als Wert soll dann stehen:
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de_DE" lang="de_DE" xmlns:v="urn:schemas-microsoft-com:vml"
Ich könnte nun natürlich sämtliche Seitenids heraussuchen und aufschreiben und mit PIDInRootline eine Condition setzen, aber das wäre eine sehr umständliche Lösung.
Anders bekomme ich's aber nicht hin. Vielleicht kann mir ja jemand mal auf die Sprünge helfen und mir eine wirklich dynamische Variante zeigen.
Ich habe schon ein wenig mit Conditions und dem If herumprobiert, bin aber auch keine wirkliche Lösung gestoßen.
Vielen Dank.
Hi!
Wenn dies einen Teilbaum deiner Struktur entspricht, dann füge doch einfach ein ext-Template ein und überschreibe diesen Wert.
Grüße
McGregor
McGregor schrieb
Hi!
Wenn dies einen Teilbaum deiner Struktur entspricht, dann füge doch einfach ein ext-Template ein und überschreibe diesen Wert.
Grüße
McGregor
Hey,
du meinst ein Template auf jede betroffene Seite? Wäre natürlich eine Lösung. Allerdings sind das knapp 1000 Seiten und das wäre ganz schön aufwendig. Aber geht das nicht einfacher mit irgendwelchen Conditions? Kann ich den Wert nicht aus dem Seitenkopf auslesen, ihn mit einem anderen Wert vergleichen und dann entsprechend reagieren?
Ich bin leider nicht so fit in TS...
Trotzdem danke für den Ansatz.
LG
Mike
Hi!
Wenn deine Struktur folgendermaßen ist:
- root
-- Organisation
-- Hotels ***********************
--- Hotel 1
--- Hotel 2
--- Hotel 3
---- Kontakt
---- Buchung
-- Kontakt
etc.
dann müsstest du nur auf der Seite mit den Sternchen diesen Eintrag machen, weil er sich nach unten vererbt. Alle anderen Hotels unter dieser Ebene würden das auch erben.
Grüße
McGregor
Hey,
leider ist die Organisation der Seiten anders. Ist eher so:
- root
-- Wanderweg A
--- Teilstrecke A
---- Hotels zum Übernachten (hier einfügen)
--- Teilstrecke B
---- Hotels zum Übernachten (hier einfügen)
...
-- Wanderweg B
...
-- Wanderweg C
...
Ist also leider immer am Ende des Astes und somit müsste ich's immer da einfügen.
Das Problem ist, dass xmlns:v="urn:schemas-microsoft-com:vml" nicht XHTML 1.1 kompatibel ist. Die Seite soll aber soweit wie möglich XHTML-konform gehalten werden, weshalb das Attribut sinnigerweise nur auf den zwingend benötigten Seiten auftauchen soll.
Hi!
Wenn es immer der letzte Ast ist, dann sollte sowas gehen:
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de_DE" lang="de_DE" xmlns:v="urn:schemas-microsoft-com:vml"
[treeLevel = -1]
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de_DE" lang="de_DE"
[end]
Schreibe das am besten an das Ende deines TS.
Damit erreichst du, dass im letzten Treelevel (also da, wo deine Hotels sind) die obige Condition den Eintrag von config.htmlTag_setParams mit dem geänderten Wert überschreibt.
Beachte, dass das für alle "Blätter" des "Baums" gilt.
Wenn alle Hotels auf einer Ebene sind - und nur Hotels, dann bietet sich folgende Conditon an:
[treeLevel = 4]
[end]
Setze hier die Ebene der Hotels ein (4 ist nur ein Beispiel)
Grüße
McGregor
Hallo,
das kann ich so als Notlösung erstmal nehmen, danke!
Leider befinden sich die Hotels aber nicht alle auf einer Ebene, sondern verteilt (4./5./6. Ebene) und dort sind dann auch Seiten, die das zusätzliche Attribut nicht benötigen und es dort auch nicht auftauchen sollte.
Bleibt also nichts anderes übrig, als entweder per Typoscript abzufragen, ob sich der Wert "hotel" in dem entsprechenden Feld befindet (was ich aber leider nicht hinbekomme), oder eine gänzlich andere Lösung.
Mike
Hallo,
also die Lösung des Problems ist eigentlich super einfach, wenn man den weiß, dass es so geht:
[globalVar = TSFE:page|tx_realurl_path = hotel]
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml"" xml:lang="de_DE" lang="de_DE" xmlns:v="urn:schemas-microsoft-com:vml"
[end]
Ich kann also mit der Condition gezielt nach dem Wert in der Seitentabelle fragen.