[TYPO3-german] IMAGE Dateipfad in den Header

Stephan Köhler stephan.koehler at 599media.de
Wed Mar 16 10:30:32 CET 2016


Hallo Gerald,

klar gern.

Wie Stefan schon geschrieben hat, hast du zwei Möglichkeiten 30 oder 40 halt. Bei dem einen liegt das Bild in den Seiteneigenschaften bei dem Anderen liegt es im Content.
Je nachdem was du nutzen möchtest, brauchst du nur eins einzubinden.

Aber am einfachsten ist es am ursprünglichen Code zu erklären.

Ich stand vor dem Problem, dass ich eine Div-Box mit Inhalt hatte und diese Div-Box sollte ein Hintergrundbild aus den Seiteneigenschaften bekommen.
Im HTML sollte es dann so ausssehen:

<div style="background-image:url(/foobar.jpg)">
	<h2>Foobar</h2>
	<p>Lorem Ipsum</p>
</div>

Vermutlich willst du auch so etwas ähnliches realisieren. Nur das es bei dir nicht das Div sondern der Header-Tag ist ;)

Das TypoScript würde dazu wie folgt aussehen:

DIVBOX wäre hier z.B. ein Marker

Als erstes ganz normal die Box.

DIVBOX = COA
DIVBOX {
    stdWrap {
        wrap = <div id="booking" style="background-image:url(/#)" >|</div>
    }
    10 < styles.content.get
    10 {
	select.where = colPos=13 #hier liegt dein Content in der entsprechenden Spalte im Backend-Layout
    }
}

Jetzt hast du natürlich das Problem das man mit dem wrap normal nur einmal etwas "wrapen" kann.
Zum Glück gibt es aber mehrere Wraps die man um ein Element legen kann. (outerWrap, wrap3, wrap2, ... innerwrap, etc)
https://blog.bartlweb.net/2011/02/die-reihenfolge-der-wichtigsten-wraps-in-typo3/

Diese sind alle vom Typ stdWrap. Damit kannst du sie also theoretisch verschachteln oder einen anderen Typ zuweisen, z.b. cObject. Was dann wieder neue Möglichkeiten schafft.

Und etwas anderes habe ich an der Stelle dann auch nicht gemacht. Ich nutze dazu noch die Eigenschaft von wrap.splitChar um einen alternativen "splitting character" zu setzen.
https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Stdwrap/Index.html#wrap

Im Prinzip schreibe ich die URL zum Bild in den innerWrap und wrape um ihn dann das HTML-Konstrukt.

Für den outerWrap solltest du auch irgend ein anderen Wrap nehmen können. Ich halte mir an der Stelle nur die Option frei weitere Wraps innerhalb der Div-Box einzubauen.

DIVBOX = COA
DIVBOX {
    stdWrap {
        outerWrap {
            innerWrap.cObject = FILES
            innerWrap.cObject {
                references {
                    table = pages
                    uid.data = page:uid
                    fieldName = media
                }
                renderObj = IMG_RESOURCE
                renderObj {
                    file {
                        import.data = file:current:publicUrl
                    }
                }
            }

            wrap = <div id="booking" style="background-image:url(/#)" >|</div>
            wrap.splitChar = #
        }
    }
    10 < styles.content.get
    10 {
	select.where = colPos=13 #hier liegt dein Content in der entsprechenden Spalte im Backend-Layout
    }
}

Entsprechend für deinen Fall hatte ich den Code nur umgeschrieben und die 10 weggelassen.

Mit freundlichen Grüßen
Stephan Köhler


Dipl.-Ing. (FH) Stephan Köhler
Web Development

599media GmbH
Platz der Oktoberopfer 5
09599 Freiberg 
Tel.: 03731 / 41 939 - 41
Fax: 03731 / 41 939 - 59


http://www.599media.de
stephan.koehler at 599media.de
 
Geschäftsführer: Jens Engelmann
Sitz der Gesellschaft: Freiberg
HR: AG Chemnitz HRB 24695

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Gerald Gräupner
Gesendet: Dienstag, 15. März 2016 19:01
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] IMAGE Dateipfad in den Header

Hallo Stephan,

das funktioniert (aus den Seiten Ressourcen nicht, da dort in der DB media = NULL eingetragen ist -> kann also nicht, würde aber funktionieren; mitt tt_content auf der colPos = 2, klar, da ist auch mein Bild drin). Erstmal vielen Dank dass Du mich über die Hürde gebracht hast.

Jetzt muss ich das verstehen:

# ok, den COA brauche ich wegen zweier Objekte FILES und IMG_RESOURCE
40 = COA
40 {
# den benötige ich für den stdWrap.wrap, auch klar stdWrap {

# den outerwrap verstehe ich nicht
outerWrap {

# hier steuerst Du den gesamten Content der Seite auf das cObject des innerwrap, auch nicht wirklich verstanden innerWrap.cObject < styles.content.get innerWrap.cObject {

# das ist klar, da lese ich die richtige column, bei mir die 2 select.where = colPos=15

# alles was nun folgt ist mir klar
renderObj = FILES
renderObj {
references {
table = tt_content
uid.data = field = uid
fieldName = image
}
renderObj = IMG_RESOURCE
renderObj {
file {
import.data = file:current:publicUrl
}
}
}
}
wrap =
}
}
}

Hast Du noch Lust, mir das kurz zu erläutern?

Ansonsten: ganz vielen Dank.

Viele Grüße
Gerald
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list