---
title: "Breaking: Images render as a responsive picture"
manual: "Academic Programs"
version: "main"
source: "Changelog/3.0/Breaking-ImagesRenderAsPicture.rst"
rendered: "2026-09-27T09:40:45+00:00"
---

# Breaking: Images render as a responsive picture {#breaking-programs-images-render-as-picture}

## Description {#description}

The program list item and the program page template render their image
through the responsive image partial of `EXT:academic_base`,
`Partials/Academic/Image.html`, from 3.0 on. Every raster image is
therefore a `<picture>` with WebP sources and a fallback `<img>`
that carries the classes it carried before, and an SVG file is rendered as one
`<img>` of the original file without processing.

The list item asks for the preset `card`, the page template for `detail`.

The views register `EXT:academic_base/Resources/Private/Partials/`:
the plugin view with the partial root path key `-1`, below the keys `0` and
`1` it uses already, and the page object of the program page type with the
key `-1758484802`, below every theme and project path. The page object
registers it twice, because a `PAGEVIEW` page object reads no
`partialRootPaths`: it derives those from `paths` by appending
`Partials/`, so `paths` carries
`EXT:academic_base/Resources/Private/` under the same key.

## Impact {#impact}

-   CSS that selects the image as a direct child of the card, or as the direct
    child of the detail container, no longer matches: it is wrapped in a
    `<picture>`.
-   The fallback image is requested with `loading="lazy"`, which it was not
    before, and its `width` and `height` are those of the preset rather than
    those of the original file.
-   A project that replaces the partial root paths of the plugin completely,
    or a page object that renders `Program/Item` or the page template in a view
    of its own, fails with an exception on the partial `Academic/Image` that
    the view cannot resolve.

## Affected Installations {#affected-installations}

Every installation that renders a program list, or a page of the program page
type with an image.

## Migration {#migration}

1.  Adjust CSS that addresses the program image.
1.  A plugin view whose partial root paths were replaced needs the path of
    `EXT:academic_base` below the others:

    ```typoscript
    plugin.tx_academicprograms.view.partialRootPaths {
        -1 = EXT:academic_base/Resources/Private/Partials/
    }
    ```
1.  If a page object of the project renders the page template or one of the
    item partials itself, list the path there with a key of your own - under
    `partialRootPaths` for a `FLUIDTEMPLATE` page object, under
    `paths` for a `PAGEVIEW` one:

    ```typoscript
    page.10 {
        partialRootPaths.-1700000001 = EXT:academic_base/Resources/Private/Partials/
        paths.-1700000001 = EXT:academic_base/Resources/Private/
    }
    ```
1.  Flush the TYPO3 caches, so the Fluid template cache is rebuilt.
