TypoScript: Dynamic background image with CSS
It's very often that we need to put background images into the page design. It's often done with CSS. Here's an example how to get images from TYPO3 CMS pages media files.
Adding an image to the page preferences
First thing to do is upload an image to the page resources. Page -> Edit -> Resources -> Files -> Media. Now let's create a little TypoScript snippet to get image information, scale it and parse into our template.
TypoScript setup
lib.pageBgImg = COA lib.pageBgImg { 10 = IMG_RESOURCE 10.file { import { cObject = TEXT cObject.override { required = 1 # slide sets image for all the subpages as well, # overwritten if subpage has it's own image added data = levelmedia: -1, slide wrap = uploads/media/| # gets first image from recources list listNum = 0 } } # image manipulation – if 'c' crop is in action # images must be bigger than given width and height width = 1400c height = 540c format = jpg quality = 100 }
In FLUID template
Using FLUID as the template engine we add something like this into the template:
<body style="background: url(<f:cObject typoscriptObjectPath="lib.pageBgImg" />) no-repeat center 96px;">
Don't forget to include TypoScript snippet template to your main template ;)