Breaking: Job images render as a responsive picture
Description
The job list item renders the job image through the responsive image partial
of EXT:, Partials/, from 3.0 on. A
raster image is therefore a
<picture>
with WebP sources and a fallback
<img>
with the class ace- of the partial, and an SVG file -
the shape an employer logo often has - is rendered as one
<img>
of the
original file without processing.
The item asks for the preset card with the crop variant default. This
extension defines no crop variants, so default stays free-ratio and a logo
is not cut. A project that wants its job images cropped like a partner logo
overrides Job/ or the preset section of the shared partial.
The views register EXT:: the
plugin view with the partial root path key -1, below the keys 0, 10 and
20 it uses already, and
page. with the key -1758484804,
next to the partials this extension registers there.
Impact
- CSS that selects the image as a direct child of the card no longer
matches: it is wrapped in a
<picture>. - The fallback image is requested with
loading="lazy", which it was not before, and itswidthandheightare those of the preset rather than those of the original file. - A project that replaces the partial root paths of the plugin completely
fails with an exception on the partial
Academic/that the view cannot resolve. So does aImage PAGEVIEWpage object that rendersJob/: this extension registers the path underItem page., which a10. partial Root Paths PAGEVIEWpage object does not read - it derives its partial root paths frompaths, and this extension writes nopathsentry, because it ships no page template of its own.
Affected Installations
Every installation that renders a job list with job images.
Migration
- Adjust CSS that addresses the job image.
-
A plugin view whose partial root paths were replaced needs the path of
EXT:below the others:academic_ base plugin.tx_academicjobs.view.partialRootPaths { -1 = EXT:academic_base/Resources/Private/Partials/ }Copied! -
If a page object of the project renders
Job/itself, list the path there with a key of your own - underItem partialfor aRoot Paths FLUIDTEMPLATEpage object, underpathsfor aPAGEVIEWone:page.10 { partialRootPaths.-1700000001 = EXT:academic_base/Resources/Private/Partials/ paths.-1700000001 = EXT:academic_base/Resources/Private/ }Copied! - Flush the TYPO3 caches, so the Fluid template cache is rebuilt.