Breaking: Profile images render as a responsive picture 

Description 

The contacts content element renders every contact through the profile card of EXT:academic_persons, Partials/Profile/Item.html, which renders the profile image through the responsive image partial of EXT:academic_base from 3.0 on. The image of a contact is therefore a <picture> with WebP sources and a fallback <img> with the classes card-img-top img-fluid, and a contact whose profile has no image shows the placeholder of the persons plugins.

The plugin view registers EXT:academic_base/Resources/Private/Partials/ with the partial root path key -1, below the keys 5 and 10 it uses already, and its settings take the placeholder from the constant plugin.tx_academicpersons.image.placeholder.default, the same one the persons plugins read.

Impact 

  • CSS that selects the image as a direct child of the card no longer matches.
  • Contacts without a profile image show the placeholder where they showed nothing.
  • A project that replaces the partial root paths of the plugin completely, and a page template that renders the contacts of the \FGTCLB\AcademicContacts4pages\DataProcessing\ContactsProcessor through Profile/Item in a view of its own, fail with an exception on the partial Academic/Image that the view cannot resolve.

Affected Installations 

Every installation that renders the contacts content element, or the contacts of the data processor through the profile card.

Migration 

  1. Adjust CSS that addresses the contact image.
  2. To keep contacts without a profile image empty, set plugin.tx_academicpersons.image.placeholder.default to an empty value.
  3. A view that renders Profile/Item - the plugin view with replaced partial root paths, or the page view of a page template - lists the path of EXT:academic_base below the others:

    plugin.tx_academiccontacts4pages.view.partialRootPaths {
        -1 = EXT:academic_base/Resources/Private/Partials/
    }
    Copied!
  4. Flush the TYPO3 caches, so the Fluid template cache is rebuilt.