Zum Inhalt springen

Liste in Constants oder auch Quicklinks

Erstellt am 31. August 2004 · Noch keine Antworten

Tags: Frage

anfimo ·

Hallihallo,
ich bin zwar nicht ganz neu hier im Forum, aber als Aktiver ist dies mein erstes Problem, welches ich Euch nicht vorenthalten möchte 😉

Ich möchte auf meiner Seite eine Select-Box mit EintrĂ€gen haben, welche mittels Javascript auf bestimmte Unterseiten verlinken (Quicklinks). Dazu möchte ich im Backend die IDÂŽs der Seiten angeben und per Typoscript dann daraus die "Options"-Elemente fĂŒr die Select-Box zusammenzimmern.

Ich hab dies bislang folgendermaßen gelöst:

Constants:

QUICKLINK0_PID = 31
QUICKLINK1_PID = 30
QUICKLINK2_PID = 11
QUICKLINK3_PID = 9
QUICKLINK4_PID = 95
QUICKLINK5_PID = 90
QUICKLINK6_PID = 
QUICKLINK7_PID = 80
QUICKLINK8_PID = 29

Setup:

##################################
# Quick Link Box
##################################

temp.quicklinks = COA
temp.quicklinks {
  1 = TEXT
  1.data = DB:pages:{$QUICKLINK0_PID}:title
  1.if.isTrue.data = DB:pages:{$QUICKLINK0_PID}:title
  1.wrap = <option value='{$QUICKLINK0_PID}'> | </option>


  10 = TEXT
  10.data = DB:pages:{$QUICKLINK1_PID}:title
  10.if.isTrue.data = DB:pages:{$QUICKLINK1_PID}:title
  10.wrap = <option value='{$QUICKLINK1_PID}'> | </option>

  20 = TEXT
  2.if.isTrue.data = DB:pages:{$QUICKLINK2_PID}:title
  20.data = DB:pages:{$QUICKLINK2_PID}:title
  20.wrap = <option value='{$QUICKLINK2_PID}'> | </option>

  30 = TEXT
  30.data = DB:pages:{$QUICKLINK3_PID}:title
  30.if.isTrue.data = DB:pages:{$QUICKLINK3_PID}:title
  30.wrap = <option value='{$QUICKLINK3_PID}'> | </option>

  40 = TEXT
  40.data = DB:pages:{$QUICKLINK4_PID}:title
  40.if.isTrue.data = DB:pages:{$QUICKLINK4_PID}:title
  40.wrap = <option value='{$QUICKLINK4_PID}'> | </option>

  50 = TEXT
  50.data = DB:pages:{$QUICKLINK5_PID}:title
  50.if.isTrue.data = DB:pages:{$QUICKLINK5_PID}:title
  50.wrap = <option value='{$QUICKLINK5_PID}'> | </option>

  60 = TEXT
  60.data = DB:pages:{$QUICKLINK6_PID}:title
  60.if.isTrue.data = DB:pages:{$QUICKLINK6_PID}:title
  60.wrap = <option value='{$QUICKLINK6_PID}'> | </option>

  70 = TEXT
  70.data = DB:pages:{$QUICKLINK7_PID}:title
  70.if.isTrue.data = DB:pages:{$QUICKLINK7_PID}:title
  70.wrap = <option value='{$QUICKLINK7_PID}'> | </option>

  80 = TEXT
  80.data = DB:pages:{$QUICKLINK8_PID}:title
  80.if.isTrue.data = DB:pages:{$QUICKLINK8_PID}:title
  80.wrap = <option value='{$QUICKLINK8_PID}'> | </option>

  90 = TEXT
  90.data = DB:pages:{$QUICKLINK9_PID}:title
  90.if.isTrue.data = DB:pages:{$QUICKLINK9_PID}:title
  90.wrap = <option value='{$QUICKLINK9_PID}'> | </option>
}

Dabei kommt durchaus das gewĂŒnschte Ergebnis heraus, sprich: es wird eine selectbox mit maximal 10 EintrĂ€gen erstellt. Leere EintrĂ€ge, wie z.B. QUICKLINK6_PID, tauchen dabei durch das "if.isTrue.data..." nicht in der Box auf !

Dies erscheint mit programmiertechnisch aber irgendwie so "hĂ€ĂŸlich", dass ich mich Frage ob es nicht auch eleganter geht ? Gibt es z.B. in den Constants die Möglichkeit ein Liste anzugeben, welche dann im Setup durchgeackert wird ?

Ich habe zwar schon in diversen Threads geschaut und Dokus geblĂ€ttert, komme aber leider nicht wirklich zu anderen Ergebnissen. Vielleicht stehe ich ja auch bloß "auf dem Schlauch" !

Vielen Dank schonmal im voraus ! 🙂