---
title: "Important: Category type icons come from the frontend icon registry"
manual: "Academic Projects"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-projects:important-projects-category-icons-come-from-the-frontend-icon-registry@main"
source: "Changelog/3.0/Important-CategoryIconsComeFromTheFrontendIconRegistry.rst"
rendered: "2026-10-12T23:12:54+00:00"
---

# Important: Category type icons come from the frontend icon registry {#important-projects-category-icons-come-from-the-frontend-icon-registry}

## Description {#description}

The project page and the project card of the project list show the icon of
each category type of a project. The partials
`Partials/Project/Page/Categories.html` and
`Partials/Project/Item.html` rendered it with `core:icon`, from the icon
registry of the TYPO3 backend. They now render it with the `ab:icon`
ViewHelper of **academic_base**, from its frontend icon registry, with
the arguments they had.

The identifiers stay `category_types.projects.<type>`, and so does the
rendered markup, the inlined drawing in its wrapper
`<span class="t3js-icon icon" data-identifier="…">`.
**category_types** registers every category type icon in both
registries, so the backend and the frontend show the same drawing unless one of
the cases below applies. The drawings are new in 3.0, the cooperation and the
project department draw shared icons of **academic_base**, and the page
type and the content elements show icons of this extension instead of a core
icon, see [Breaking: Project icons are replaced and follow the colour scheme](https://docs.typo3.org/permalink/fgtclb/academic-projects:breaking-projects-category-icons-follow-the-colour-scheme@main).
One case changes on purpose: a category type declared without an icon file
made the partials fail with exception 1440754980 of the bitmap icon provider of
TYPO3, which the backend icon registry picks for an empty source. It now shows
TYPO3's not-found placeholder.

What the frontend shows can now differ from the backend:

-   A type that declares a `frontendIcon` in
    `Configuration/CategoryTypes.yaml` shows that file in the frontend
    and its `icon` in the backend.
-   A site package replaces the icon of a type for the frontend only by
    registering its identifier, for example
    `category_types.projects.competence_field`, in its own
    `Configuration/FrontendIcons.php`.

An override of one of the partials that still renders the icons with
`core:icon` keeps working and keeps showing the backend icon of each type. It
misses a `frontendIcon` and a frontend replacement until it switches: replace
`<core:icon` with `<ab:icon`, keep every argument, and declare
`xmlns:ab="http://typo3.org/ns/FGTCLB/AcademicBase/ViewHelpers"` in the
`<html>` tag of the partial.
