Zum Inhalt springen

Abfrage, ob field Daten enthält

Erstellt am 14. Oktober 2004 · 1 Antwort · letzte Antwort am 21. Oktober 2004

Tags: Bilder, Frage

laptop24 ·

Hallo,

hat jemand schonmal das Problem gelöst, ein Element nur dann darzustellen, wenn ein anderes nicht existiert?

Ich habe im Page Record der ersten Seite eine Datei (Grafik) angegeben, die auf der entsprechenden Seite angezeigt wird. Außerdem wird diese Grafik auf allen Unterseiten angezeigt.

Siehe Code:

temp.bannerimg = IMAGE
temp.bannerimg {
  file.import.data = levelmedia: 0
  file.import = fileadmin/thamey/images/
  file.import.listNum = 0
}

Soweit, so gut!

Nun möchte ich in den Unterseiten auch eine Grafik eingeben, die dann angezeigt wird. Allerdings nur dann, wenn die Grafik auf der Unterseite angegeben ist. Ansonsten soll wieder die Grafik der ersten Seite angezeigt werden.

Ich dachte da an etwas wie:

temp.bannerimg = IMAGE
temp.bannerimg {

  [WENN field(media) = LEER DANN]
    file.import.data = levelmedia: 0
  [SONST]
    file.import.field = media
  [ENDE]

  file.import = fileadmin/thamey/images/
#  file.import = uploads/media/
  file.import.listNum = 0
}

Der Teil in den eckigen Klammern ist natürlich Pseudocode.

Weiß jemand, wie man sowas macht?

Gruß, L.T.

laptop24 ·

Mittlerweile habe ich das Problem gelöst.

Ich habe im Template folgenden Code eingebaut:

temp.bannerimg = IMAGE
temp.bannerimg.file = GIFBUILDER
temp.bannerimg.file {
  XY = 760,132

  10 = IMAGE
  10.file {
    import = fileadmin/thamey/images/
    import.data = levelmedia: 0
    import.listNum = 0
  }

  20 = IMAGE
  20.file {
    import = fileadmin/thamey/images/
    import.field = media
    import.listNum = 0
  }
}

... und weiter unten diesen Block noch angezeigt ...

page.10 < temp.bannerimg

Nun wird im Seitenrecord jeder Seite ein Bild eingetragen. Die Seiten, die ein Bild angehängt haben zeigen dieses als Banner an. Alle Seiten, die kein Bild im Seitenrecord haben, zeigen das Bild der Root-Seite an. Demzufolge sollte zumindest die Root-Seite ein Bild angehängt haben.

Man kann das Ganze noch erweitern in dem man z.B. ein Standardbild mit in den Code aufnimmt. Dann wird auf jeden Fall ein Bild angezeigt.