Zum Inhalt springen

IMG_RESOURCE aus Datenbank holen

Erstellt am 13. Juli 2004 · 3 Antworten · letzte Antwort am 14. Juli 2004

Tags: Bilder, Frage

tomww ·

Hi,
ich bastele schon eine Weile daran rum, den Namen eines Bildes in einen Marker zu schreiben. Das Bild liegt im colPos=2 in der Datenbank (im Feld image)

Folgender HTML-marker soll ersetzt werden:

<div style="position:absolute; bottom:0px; right:0px; width:350px; height:550px; background-repeat:no-repeat; background-attachment:scroll; background-position:bottom right; background-image:url(###backgroundimage###);"></div>

So funnzt es auch:

marks.backgroundimage= TEXT
marks.backgroundimage.value = fileadmin/hintergrund_bilder/background1.jpg

und alle diese Möglichen habe ich schon erfolglos getestet:

  marks.backgroundimage= COA
  marks.backgroundimage {
     table = tt_content
     select.where = colPos=2
	 10 = IMG_RESOURCE
     10.import.field = image
     10.importstdWrap = fileadmin/hintergrund_bilder/|
     10.import.listNum = 0
  }
  marks.backgroundimage= IMG_RESOURCE
  marks.backgroundimage.file {
     import.field = image
     importstdWrap = fileadmin/hintergrund_bilder/|
     import.listNum = 0
 }
  marks.backgroundimage= IMG_RESOURCE
  marks.backgroundimage {
     10 = CONTENT
     10.table = tt_content
     10.select.where = colPos=2
  }
  marks.backgroundimage= COA
  marks.backgroundimage {
     10 = IMG_RESOURCE
     10.table = tt_content
     10.select.where = colPos=2
  }

Für Tipps wäre ich dankbar !

Tom

tomww ·

Hallo doku,
vielen Dank für den Link (ich habe zwar viele Seiten gefunden - auch gutes Zeugs von Sacha aber die von Dir gepostete Seite enthielt leider den String "IMG_RESOURCE" nicht ...

Es hat aber leider trotzdem mit folgendem Code (abgewandelt von Sacha's Code) nicht funktioniert:

marks.backgroundimage = COA
marks.backgroundimage {
   20 = TEXT
   20{
   value = fileadmin/hintergrund_bilder/test.jpg
   override {
   required = 1
   data = levelmedia: -1, "slide"
   wrap = uploads/media/|
   listNum = 1
     }
   }
}

Es wird immer nur fileadmin/hintergrund_bilder/test.jpg ausgegeben (ich habe einen zweiten Marker eingefügt der den Text direkt anzeigt ...)
Ich habe verschiedene Variationen ausgetestet und zig mal geschaut, ob das Bild auch in der richtigen Stelle eingebunden ist. (es ist) Es gibt auch einen Ordner uploads/media mit meinem jpg und korrekten Unix-Rechten ...

Dabei habe ich aber auch festgestellt, das bei dieser Variante das Bild als BLOB in die Datenbank geschrieben wird. Ich habe aber wohl nur etwa 10 Bilder die sich in etwa 300 Seiten immer wieder wiederholen werden. Also fände ich es besser, nur einen Link auf das Bild zu nutzen.

Ich habe nun auf einer Unterseite ein Bild-Element eingefügt und einen Verweis auf mein Bild gemacht. Allerdings bekomme ich auch diesen Text (der 100% so in der DB steht) nicht ausgelesen. Hier mein Code dazu:

  marks.backgroundimage = COA
  marks.backgroundimage {
     10 = TEXT
     10.import.field = image_link
     10.import.stdWrap = fileadmin/hintergrund_bilder/|
     10.import.listNum = 1
  }

Auf meiner Seite soll auch nicht die rootline abgesucht werden, d.h. wenn für eine Seite kein Bild definiert ist, erscheint auch keines.

Zwei Fragen nun:
1. Wie kann ich das Feld image_link aus der tt-content auslesen und in meinen Marker setzen ? (Dabei sollte colPos=2 berücksichtigt werden !)

2. Kann ich eigentlich zu den vorhandenen Sietentypen (z.B. Text, Text mit Bild, Bilder ...) eigene definieren ? (z.B. wäre für diese Sache hier ein Typ Bildverweis super, der alles andere ausblendet - gleichzeitig aber den Typ Bilder nicht überschreibt ...)

Vielen Dank !

Tom

tomww ·

Das mit dem Auslesen habe ich mittlerweile geschafft (weiß zwar nicht ob es noch bessere Möglichkeiten gäbe, aber es funktioniert:

	marks.backgroundimage = CONTENT
	marks.backgroundimage {
   		table = tt_content
   		select {
   			pidInList=this
   			where = colPos=2
   		}
        renderObj = TEXT
        renderObj.field = image_link
    }

Ich wäre aber immer noch sehr dankbar, wenn jemand eine Antwort, einen Link oder ein Buch ;-) hätte, die dieses Thema beleuchtet:

2. Kann ich eigentlich zu den vorhandenen Sietentypen (z.B. Text, Text mit Bild, Bilder ...) eigene definieren ? (z.B. wäre für diese Sache hier ein Typ Bildverweis super, der alles andere ausblendet - gleichzeitig aber den Typ Bilder nicht überschreibt ...)

... noch besser (für die Endbenutzer des Systems) wäre eine Auswahlliste, die sich aus allen Bildern eines Verzeichnisses dynamisch zusammenbaut ...

Gibt es bereits Extensions, die weitere Content-Elemente hinzufügen? Vielleicht hilft es mir ja weiter, wenn ich ein gutes Beispiel habe ?

In welchen Dateien sind die Standard-Content-Typen definiert ?

Tom