---
title: "Feature: Profile names can be shown without a link"
manual: "Academic Profiles"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-persons:feature-profile-items-without-detail-link@main"
source: "Changelog/3.0/Feature-ProfileItemsWithoutDetailLink.rst"
rendered: "2026-10-15T10:24:29+00:00"
---

# Feature: Profile names can be shown without a link {#feature-profile-items-without-detail-link}

## Description {#description}

The name of every profile in the list, card, selected profiles and selected
contracts elements links to the profile's detail view. A site without profile
detail pages had no way to turn that off, and without a detail page the link
led to the page of the element, which showed the same list again.

The new setting `plugin.tx_academicpersons.detailLink` takes the
values `link`, the default, and `none`. With `none`, the names are shown as
text, in the table view mode as well. It is a site setting of the aggregate
set `fgtclb/academic-persons` and a constant of the shared static template,
with the same default in both.

The four elements offer the same choice in their plugin options,
**Link the names to the detail view**, with **Use the site
setting** as the default. A chosen value wins over the site setting in both
directions.

The list-and-detail element always links its names, because it shows the
detail view itself, and does not offer the choice. A detail page that a
template passes to the item partial links as well, and so do the contacts of
a page of **EXT:academic_contacts4pages**.

See [Names without a detail link](https://docs.typo3.org/permalink/fgtclb/academic-persons:configuration-detail-link@main).

## Impact {#impact}

Nothing changes until the setting or the choice of an element is set to
**No link**.

A project that overrides `Profile/Item/DetailLink.html`, or copies
`Profile/Item.html` together with the header partials to drop the link,
ignores the setting. A copy made only to drop the link can be removed, and the
site sets the setting to `none` instead. An override of the detail link
partial that is kept follows the setting when the last case, the one that
builds the address from `settings.detailPid`, checks it. In the
shipped partial that case reads:

```html
<f:else if="{settings.detailLink} != 'none'">
    <f:variable
        name="profileDetailUri"
        value="{f:uri.action(
            pageUid: settings.detailPid,
            action: 'detail',
            arguments: {
                profile: profile
            },
            pluginName: 'Detail',
            controller: 'Profile',
            extensionName: 'academicpersons'
        )}"
    />
</f:else>
```

The cases for a passed `detailPid` and for the list-and-detail element
stay as they are.
