---
title: "Profile image"
manual: "Academic Profiles"
version: "main"
source: "Templates/ProfileImage/Index.rst"
rendered: "2026-09-22T18:32:44+00:00"
---

# Profile image {#templates-profile-image}

The profile card and the public profile detail render the profile image through
the responsive image partial of `EXT:academic_base`,
`Academic/Image.html`. The card is the one of the list, card, selected
profiles and selected contracts content elements, and of the contacts content
element of `EXT:academic_contacts4pages`. The partial, its arguments and its
presets are described in the **Templates** chapter of
`EXT:academic_base`.

| View | Preset | Without an image |
| --- | --- | --- |
| Profile card, `Partials/Profile/Item/Image.html` | `card` | The placeholder, unless it is empty |
| Public profile, `Partials/Profile/PublicProfile/ProfileImage.html` | `detail`, with the title and the names as alternative text | No image |

When a content element limits the shown fields and leaves out the profile
image, the card shows neither the image nor the placeholder.

## The placeholder {#templates-profile-image-placeholder}

`plugin.tx_academicpersons.image.placeholder.default` is a TypoScript constant
and a site setting of the set `fgtclb/academic-persons`. Its default is
`EXT:academic_persons/Resources/Public/Images/ProfilePlaceholder.svg`, a
neutral silhouette.

-   An `EXT:` path to a public file of another extension, usually the site
    package, replaces the placeholder. A combined file identifier such as
    `1:/user_upload/placeholder.svg` is not supported.
-   An empty value switches the placeholder off: a card of a profile without
    an image shows no image.
-   A path that does not resolve fails the rendering, so a missing file is
    noticed when the site package is deployed rather than hidden.

**TypoScript constants**

```typoscript
plugin.tx_academicpersons.image.placeholder.default = EXT:my_sitepackage/Resources/Public/Images/Person.svg
```

## Changing the image markup {#templates-profile-image-override}

The plugin view registers `EXT:academic_base/Resources/Private/Partials/`
with the partial root path key `-1`, below its own partials at `0` and the
project path at `1`. A project changes the markup, the breakpoints and the
widths of every profile image by placing its own `Academic/Image.html`
in the partial root path it configures through
`plugin.tx_academicpersons.view.partialRootPath` \- there is no need to
override `Profile/Item.html` for it.

The card renders it through `Partials/Profile/Item/Image.html`, which is
where the preset, the placeholder and the classes are decided. Overriding that
one file changes them for the card alone, without touching the shared partial
and without copying the item - see [Item and list partials](../Partials/Index.html#templates-item-and-list-partials).
