Zum Inhalt springen

Seitentyp Erweitert - Bildpfade in CSS schreiben

Erstellt am 26. März 2008 · 7 Antworten · letzte Antwort am 27. März 2008

Tags: Bilder, Frage

onefortypo ·

Hallo!

Ich habe ein Problem mit der Darstellung mehrerer Bilder, die ich unter Seiteneigenschaften/Typ: Erweitert, im Feld "Dateien" hochlade.

Ein Bild hochladen und als Hintergrundbild im CSS darstellen geht gut:

marks.HEADERIMAGE = TEXT
marks.HEADERIMAGE {
data = levelmedia: -1,slide
field.listNum = 0
ifEmpty = header_1.jpg
wrap = url(fileadmin/img/|)
}

Auf derselben Seite möchte ich sehr gerne noch woanders ein Hintergrundbild dynamisch einpflegen.

Die Auswahl mehrerer Bilder im Feld "Dateien" bringt allerdings nichts, bzw zeigt dann auch nicht mehr das erste an.

Der Gedanke schlägt fehl:

marks.HEADERIMAGE = TEXT
marks.HEADERIMAGE {
data = levelmedia: -1,slide
field.listNum = 0
ifEmpty = header_1.jpg
wrap = url(fileadmin/img/|)
} 
marks.HEADERIMAGE = TEXT
marks.HEADERIMAGE {
data = levelmedia: -1,slide
field.listNum = 1
ifEmpty = content_1.jpg
wrap = url(fileadmin/img/|)
}

Kann mir jemand helfen?

Beste Grüße,
Tom

schmiedi ·

Hey,
ich suche auch schon händeringend nach einer Möglichkeit mehrere Hintergrundbilder einzufügen.

Meine Idee war:

page.headerData.21 = COA
page.headerData.21 {
    20 = IMG_RESOURCE
    20.file = IMAGE
    20.file.import{
    cObject = TEXT
    #Standardmäßig kein Bild als Hintergrund
    cObject.value = 
    cObject.override {
    required = 1
    data = TSFE:id
    wrap = div#content_wrapper{background: url(fileadmin/content_images/|.jpg) no-repeat bottom left;}  
    
    }
    }
    wrap = <style type="text/css">|</style>
   }

Allerdings klappt das nicht. Eigentlich sollte wenn kein passendes Bild zur Page ID gefunden wurde kein style tag eingefügt werden und wenn ein Bild gefunden wurde der komplette style Tag in den PageHead geschrieben werden:

<style type="text/css">div#content_wrapper{background: url(fileadmin/content_images/x.jpg) no-repeat bottom left;}</style>

Vom Prinzip sollte das doch funktionieren?
onefortypo schon eine Lösung für deinen Ansatz gefunden?
Bei der Verwendung des Erweiterten Seitentyps ist auch die Frage, wenn ich nur das Bild an der zweiten Stelle ersetzen will muss ich trotzdem irgendein Bild für die erste Position mit hochladen... Ansonsten würde das Bild was für die zweite Position gedacht war ja schon für die erste ersetzt werden. (Wenn nur ein Bild hochgeladen wurde)

Viele Grüße

Sebastian

onefortypo ·

hi!

schön das ich nicht alleine aufm schlauch stehe...

funktionieren tuts bei 2 hochgeladenen Bildern mit dem IMAGE Typ:

# Header ausgeben
    10.marks.HEADER = IMAGE
    10.marks.HEADER {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 0
}

# Contentbild ausgeben
    10.marks.CONTENT= IMAGE
    10.marks.CONTENT {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 1
}

quelle: http://www.webdesign-limburg.com/blog/?p=13

Wie kann das denn als TEXT Typ ausgegeben werden, so dass am ende ein wrap den pfad zum Bild erstellt wird?

Im Netz ist einfach nichts zu finden.
Viele Grüße,
Tom

schmiedi ·

Ich habe deinen TS Code mal bei mir ausprobiert und IMAGE gegen IMG_RESOURCE getauscht:

# Header ausgeben
    temp.insert_content.20 = IMG_RESOURCE
    temp.insert_content.20 {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 0
}
# Header ausgeben
    temp.insert_content.21 = IMG_RESOURCE
    temp.insert_content.21 {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 1
}

Damit bekomme ich wie gewünscht nur den Pfad zu den Bildern als Rückgabewert.

Mein Ansatz den ich oben beschrieben habe klappt nun auch. Die Bilder werden direkt aus einem Verzeichnis je nach Pageid gelesen:

page.headerData.21 = COA
page.headerData.21 {
    20 = IMG_RESOURCE
    20.file.import{
    cObject = TEXT
    cObject.data= TSFE : id
    wrap = fileadmin/content_images/main_content_|.jpg
    }
    20.stdWrap.wrap = div#content_wrapper{background: url(|) no-repeat bottom left;}  
    20.stdWrap.required = 1
    wrap = <style type="text/css">|</style>
   }

Viele Grüße

Sebastian

onefortypo ·

hi!

Danke für den Ansatz!
Leider funktioniert der erste bei mir nicht..
hatte ihn so auf mein script umgeschrieben:

# Header ausgeben
    marks.HEADERIMAGE.20 = IMG_RESOURCE
    marks.HEADERIMAGE.20 {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 0
}
# Header ausgeben
    marks.CONTENTIMAGE.21 = IMG_RESOURCE
    marks.CONTENTIMAGE.21 {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 1
}

Irgendwas falsch?

Bei dem zweiten weiss ich nicht genau was er macht.
Zumindest werden meine Marker nicht mehr angesteuert wegen dem
headerdata.

Danke nochmal!

onefortypo ·

Juhu es klappt!

Der Fehler war, dass ich den wrap vergessen hatte, welcher den Pfad in den Marker setzt. Ausserdem hatte ich das Splitzeichen "|" nur anstelle der Datei, nicht aber anstelle des gesamten Pfads gesetzt, welcher ja durch IMG_RESOURCE übergeben wurde.

Also meine Version:

# Header ausgeben
    marks.HEADERIMAGE = IMG_RESOURCE
    marks.HEADERIMAGE {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 0
    stdWrap.wrap = url(|)
}
# Content ausgeben
    marks.CONTENTIMAGE = IMG_RESOURCE
    marks.CONTENTIMAGE {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 1
    stdWrap.wrap = url(|)
}

Danke allen!

Grüße,
Tom

onefortypo ·

Kleine Erweiterung, falls kein Bild hochgeladen worden ist und automatisch ein Alternativbild angezeigt werden soll.

# Header ausgeben
    marks.HEADERIMAGE = IMG_RESOURCE
    marks.HEADERIMAGE {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 0
    stdWrap.wrap = url(|)
    stdWrap.ifEmpty = uploads/media/header_1.jpg
}
# Content ausgeben
    marks.CONTENTIMAGE = IMG_RESOURCE
    marks.CONTENTIMAGE {
    file.import.field = media
    file.import = uploads/media/
    file.import.listNum = 1
    stdWrap.wrap = url(|)
    stdWrap.ifEmpty = uploads/media/header_1.jpg    
}