Zum Inhalt springen

[globalVar = LIT: ] in externem TypoScript Template

Erstellt am 20. Dezember 2006 · 1 Antwort · letzte Antwort am 22. Dezember 2006

Tags: Frage

Deschi ·

Hi Leute,

ich hoffe, ich kann mein Problem verständlich erklären. Ich habe ein Template geschrieben, um auf jeder Seite beliebige Flash-Banner anzeigen zu lassen.

tmp.BANNER = COA_INT
tmp.BANNER {
      10 = TEXT
      10.value = <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="122">
      20 = TEXT
      20.value = <param name="movie" value="fileadmin/banner/{$vvw.banner}">
      30 = TEXT
      30.value = <param name="quality" value="high">
      40 = TEXT
      40.value = <embed src="fileadmin/banner/{$vvw.banner}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="400" height="122" ></embed>
      50 = TEXT
      50.value = </object> 
  }

In meinem Root-Template habe ich das Template auch einen Marker gelegt:

10.subparts.BANNER < tmp.BANNER

und jetzt kann ich auf jeder Seite ein ext.Template anlegen, in dem ich den Dateinamen der Flash-Animation übergebe:

vvw.banner = test.swf

Soweit so gut. Doch jetzt hätte ich gerne, dass auf manchen Seiten gar keine Banner angezeigt werden. Ich weiß, ich könnte das im Root-Template mit

[PIDinRootline = 9]
 seite.10.subparts.BANNER < 
 [global]

erledigen, aber ich hätte gerne auf jeder Seite eine Angabe wie z.B.:

vvw.banner = 0

und dann im Template eine IF-Abfrage:

[globalVar = LIT:0 = {$vvw.banner}]
tmp.BANNER = TEXT
tmp.BANNER.value = 
[global]
tmp.BANNER = COA_INT
tmp.BANNER {
      10 = TEXT
      10.value = <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="122">
      20 = TEXT
      20.value = <param name="movie" value="fileadmin/banner/{$vvw.banner}">
      30 = TEXT
      30.value = <param name="quality" value="high">
      40 = TEXT
      40.value = <embed src="fileadmin/banner/{$vvw.banner}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="400" height="122" ></embed>
      50 = TEXT
      50.value = </object> 
  }

Das funzt aber nicht. Hat Jemand eine Idee?

Vielen Dank im voraus.

MfG

Deschi

Deschi ·

Hi, ich habs selbst geschafft 🙂

Ich habe eine 2. Variable angelegt und jetzt funktionierts.
1. Variable: vvw.banner (0 oder 1)
2. Variable: banner.name (Banner der angezeigt werden soll)

Jetzt stelle ich vvw.banner im Haupttemplate bei Constants auf 0:

vvw.banner = 0

Und mache folgende Abfrage im Haupttemplate Setup:

[globalVar = LIT:0 < {$vvw.banner}]
 seite.10.subparts.BANNER < tmp.BANNER
 [else]
 seite.10.subparts.BANNER <
 [global]

Wenn also vvw.banner auf 0 steht, soll der Subpart "BANNER" nicht belegt werden, wenn vvw.banner 1 (oder größer) ist, soll das Template tmp.BANNER auf den Subpart gelegt werden.

Das Template tmp.BANNER sieht jetzt so aus:

tmp.BANNER = COA_INT
tmp.BANNER {
      10 = TEXT
      10.value = <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="122">
      20 = TEXT
      20.value = <param name="movie" value="fileadmin/banner/{$banner.name}">
      30 = TEXT
      30.value = <param name="quality" value="high">
      40 = TEXT
      40.value = <embed src="fileadmin/banner/{$banner.name}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="400" height="122" ></embed>
      50 = TEXT
      50.value = </object> 
  }

Standardmäßig wird jetzt also auf keiner Seite ein Banner gezeigt. Wenn ich ein Banner auf einer Seite haben möchte, lege ich dort ein extension Template an und schreibe folgendes in die Constants:

vvw.banner = 1
banner.name = testflash.swf

🙂

Ich beschäftige mich erst seit ca. 2 Monaten mit Typo3, deshalb erkläre ich wahrscheinlich ziemlich umständlich...

Ich wünsche allen ein Frohes Fest und einen guten Rutsch.

Gruß
Deschi