Usage¶
The extension provides two Fluid ViewHelpers which can generate various image markups. They extend the original <f:image />
and <f:media />
ViewHelpers, so they can also be used for non-responsive images.
In addition to the existing properties, both ViewHelpers support the following properties:
srcset¶
- Variable type
- Array|String
- Description
- A list (either array or comma-separated string) of additional image sizes that should be generated for the image. Can be either image widths specified in pixels (e. g. 200 or 200w) or pixel density descriptors (e. g. 1x or 2x), but must not be a combination of both.
- Default value
- NULL
- Mandatory
- No
Examples¶
<sms:image image="{image}" srcset="400, 600, 800, 1000" />
<sms:image image="{image}" srcset="400w, 600w, 800w, 1000w" />
<sms:image image="{image}" srcset="1x, 2x" />
<sms:image image="{image}" srcset="{0: 400, 1: 600, 2: 800, 3: 1000}" />
<sms:media file="{image}" srcset="400, 600, 800, 1000" />
sizes¶
- Variable type
- String
- Description
- Sizes query which tells the browser which of the image sizes should be used in the current environment.
%1$d
can be used as a placeholder for the calculated image width. - Default value
- (min-width: %1$dpx) %1$dpx, 100vw
- Mandatory
- No
Examples¶
<sms:image image="{image}" sizes="(min-width: 1200px) 600px, (min-width: 900px) 800px, 100vw" />
<sms:media file="{image}" sizes="(min-width: 1200px) 600px, (min-width: 900px) 800px, 100vw" />
breakpoints¶
- Variable type
- Array
- Description
An array of image breakpoints derived from the underlying responsive design. For each breakpoint, the following options can be set:
cropVariant
: The name of the corresponding cropVariant as defined in the TCA configuration of the FAL field.media
: The media query that tells the browser when this breakpoint should be used.srcset
: A list of image sizes that should be generated for this image breakpoint.sizes
: Sizes query which tells the browser which of the image sizes should be used in the current environment.
The result will always be a
<picture>
tag. The provided array will be sorted by keys, so it is possible to control the order of the generated<source>
tags.- Default value
- NULL
- Mandatory
- No
Examples¶
<sms:image image="{image}" breakpoints="{
0: {'cropVariant': 'desktop', 'media': '(min-width: 1000px)', 'srcset': '1000, 1200, 1400, 1600'},
1: {'cropVariant': 'mobile', 'srcset': '400, 600, 800, 1000, 1200, 1400, 1600'}
}" />
<sms:media file="{image}" breakpoints="{
0: {'cropVariant': 'desktop', 'media': '(min-width: 1000px)', 'srcset': '1000, 1200, 1400, 1600'},
1: {'cropVariant': 'mobile', 'srcset': '400, 600, 800, 1000, 1200, 1400, 1600'}
} />
lazyload¶
- Variable type
- Boolean
- Description
If set to TRUE, the ViewHelper will generate markup which allows lazyloading of images with a JavaScript library of your choice.
src="..."
will becomedata-src="..."
srcset="..."
will becomedata-srcset="..."
class="lazyload"
will be added to theimg
tag
- Default value
- FALSE
- Mandatory
- No
Examples¶
<sms:image image="{image}" srcset="400, 600" lazyload="true" />
<sms:media file="{image}" srcset="400, 600" lazyload="true" />
placeholderSize¶
- Variable type
- Integer
- Description
- The size (= width) of the placeholder image that will be shown until lazyloading is finished.
If set to 0, placeholder images will be disabled and the
src
attribute will be skipped. - Default value
- 0
- Mandatory
- No
Examples¶
<sms:image image="{image}" srcset="400, 600" lazyload="true" placeholderSize="20" />
<sms:media file="{image}" srcset="400, 600" lazyload="true" placeholderSize="20" />
placeholderInline¶
- Variable type
- Boolean
- Description
- If set to TRUE, the placeholder image for lazyloading will be inserted inline as base64 encoded uri.
- Default value
- FALSE
- Mandatory
- No
Examples¶
<sms:image image="{image}" srcset="400, 600" lazyload="true" placeholderSize="20" placeholderInline="1" />
<sms:media file="{image}" srcset="400, 600" lazyload="true" placeholderSize="20" placeholderInline="1" />
ignoreFileExtensions¶
- Variable type
- Array|String
- Description
- List of file extensions for which no responsive images should be generated (e. g. vector images that can’t be cropped easily and don’t need individual scaling).
- Default value
- ‘svg, gif’
- Mandatory
- No