TYPO3 Documentation
Academic Persons
Options
Give feedback View source View as Markdown How to edit Edit on GitHub

Academic Persons

  • What does it do?
  • Installation
  • Upgrade
    • Upgrading from 2.3 to 2.4
    • Upgrading from 2.4 to 3.0
    • Upgrading from 2.3 to 3.0
  • For integrators
    • Person List
    • Person List and Details
    • Person Details
    • Person Contact Card
    • Selected Person’s Profiles
    • Selected Person’s Contracts
  • Configuration
    • General configuration
    • Profile sections
    • Validation settings
    • Frontend user synchronisation
    • Profile cleanup
    • Managed fields
    • Route enhancers
    • Labels
  • Templates
    • Overriding templates
    • Item and list partials
    • Profile image
  • Styling
  • For developers
    • ModifyProfileDemandEvent
    • ModifyProfileQueryEvent
    • ModifyContractQueryEvent
    • ModifyProfileTitlePlaceholderReplacementEvent
    • ModifyPluginViewEvent
    • ModifyTcaSelectFieldItemsEvent
    • ModifyProfileImageMetadataEvent
    • AfterProfileUpdateEvent
    • BeforeImportedRecordWriteEvent
    • ChooseProfileFactoryEvent
    • BeforeProfileMappedFromFrontendUserEvent
    • AfterProfileMappedFromFrontendUserEvent
    • The profile lists
    • Taking part in the frontend user synchronisation
    • Importing persons
    • Translation synchronisation
    • The plugin action context
  • Known problems
  • ChangeLog v3
    • 3.0 Changes
      • Breaking: The contract field "publish" has been removed
      • Breaking: Header partials take a class argument
      • Breaking: Person records are workspace aware
      • Breaking: The persons plugin action context extends the one of academic_base
      • Breaking: Extbase plugins require CType on TYPO3 v14
      • Breaking: The plugins call different repository finders
      • Breaking: The profile image translates
      • Breaking: Profile images render as a responsive picture
      • Breaking: The partials of the detail view change
      • Breaking: Renamed icons and a frontend icon registry
      • Breaking: The profile views ship no stylesheet
      • Breaking: The list, detail and selection events of the plugins are gone
      • Breaking: Removed TYPO3 v12 support
      • Breaking: Section-based AcademicPersons settings
      • Breaking: Settings apply after the TCA overrides
      • Breaking: Settings files merge recursively
      • Breaking: Profile templates carry speaking classes
      • Breaking: The synchronizer context namespace is fixed
      • Feature: Configurable document rows and actions
      • Feature: Configure what frontend users synchronise
      • Feature: Configurable public profile
      • Feature: Choose which contracts a profile shows
      • Feature: Office hours and the function type on the profile page
      • Feature: Synchronise the organisational unit and function type
      • Feature: Events to add data to the synchronisation and adjust profiles
      • Feature: Contracts and profile information can be hidden
      • Feature: Import identifiers are shown, searchable and can be looked up
      • Feature: The script of the public profile can be switched off
      • Feature: Legacy settings overlay and migration command
      • Feature: The selected letter can link back to the whole list
      • Feature: The letter navigation knows which letters lead somewhere
      • Feature: Navigation links keep the visitor's list choices
      • Feature: The list elements render their view modes
      • Feature: Lock the fields a synchronisation owns per record
      • Feature: Decide what a profile image's metadata will be
      • Feature: Named crop variants for the profile image
      • Feature: A prefix for phone link targets
      • Feature: The plugins can render the content element header
      • Feature: The plugins dispatch the plugin view event
      • Feature: The query events say which plugin is asking
      • Feature: Crop variant and placeholder of a profile image
      • Feature: Import writer for persons of another source
      • Feature: Profile names can be shown without a link
      • Feature: The profile update event carries the site and the origin
      • Feature: Profile updates from user data announce themselves
      • Feature: Settings declare project fields of the profile
      • Feature: Settings overrides are reported and shrunk
      • Feature: A filter form and speaking URLs for the visitor list
      • Feature: Visitors filter the list by function type and by unit
      • Deprecation: The plugin action context of academic_persons
      • Important: Strict language fallback for selected profiles works on TYPO3 v14
      • Important: Backend saves announce profile updates
      • Important: Contracts and addresses keep their parent when it is published
      • Important: Content elements have new titles and descriptions
      • Important: List items render office hours as HTML
      • Important: The contract publish wizard has to be registered by hand
      • Important: Contract relation columns are NOT NULL now
      • Important: The detail of a hidden profile works in translated languages
      • Important: Hidden profiles in lists show their translation
      • Important: Letters without profiles are disabled in the letter navigation
      • Important: The profile queries see a letter switching off the pagination
      • Important: TYPO3 13.4.35 or 14.3.7 is required
      • Important: No letter navigation for a manual selection
      • Important: Organisational units are searchable on TYPO3 v13
      • Important: FlexForm paths change for the plugin structures
      • Important: The timeline year fields are constrained
      • Important: The profile item and list are built from partials
      • Important: Label changes of the public profile
      • Important: Record icons follow the backend colour scheme
      • Important: The selected profiles sheet is titled again
      • Important: Translation sync covers child exclude columns
      • Important: Translation sync is routed through the DataHandler
      • Important: Validation primitives moved to EXT:academic_base
    • 3.x Changes by type
  • ChangeLog v2
    • 2.4 Changes
      • Breaking: Profile synchronization now includes hidden profiles and users
      • Breaking: Renamed itemsProcFunc handler classes to FormEngine namespace
      • Breaking: Site sets and static templates have been restructured
      • Feature: Configurable frontend user phone number types
      • Feature: Dispatch ModifyTcaSelectFieldItemsEvent in itemsProcFunc handlers
      • Feature: A validator flag that locks the frontend editor only
      • Feature: Narrow the profiles and contracts a plugin shows
      • Feature: Command to hide or delete profiles of inactive frontend users
      • Feature: Restrict the backend contract selects
      • Feature: "Show hidden records" plugin option for the person plugins
      • Feature: Synchronize hidden profiles
      • Feature: Visibility (hidden) support for contact record models
      • Important: Strict language fallback for selected profiles
      • Important: Address postcode and street number accept text
      • Important: The development branch installs as 2.4.x-dev
      • Important: Changed profiles clear their cached pages
      • Important: findAll of contact and profile information orders by uid
      • Important: The contract e-mail label shows in English
      • Important: Contract rows render the location, the unit and dialable phones
      • Important: Contract relation selects store 0 for the empty item
      • Important: A created profile is translated again
      • Important: Empty configured values are ignored
      • Important: Extended ProfileDemand, findByUids() and demand handling
      • Important: Frontend user labels moved into this extension
      • Important: Imported telephone records use a stable identifier
      • Important: Label overrides are read from the documented path
      • Important: Localizing an organisational unit leaves contracts alone
      • Important: New required dependency fgtclb/environment-state-manager
      • Important: An organisational unit sorts its contracts on its own
      • Important: A paginated selection keeps its order
      • Important: The persons action context never fails on the site or the language
      • Important: The profile card renders the selection in order
      • Important: The profile card offers the detail page
      • Important: Profile create and update commands refuse wrong page lists
      • Important: The profile detail answers "not found" without a profile
      • Important: Profile names leave out empty parts
      • Important: Remaining unordered queries now order by uid
      • Important: Route enhancers have to be limited to their pages
      • Important: Selected profiles are translated in free fallback mode
      • Important: Sort direction is normalised
      • Important: Profile synchronization ignores the visibility window
      • Important: Unordered profile queries now order by uid
      • Important: Updated profiles keep new records on their page
    • 2.3 Changes
      • Feature: Add demand DTO to ModifyListProfilesEvent
    • 2.2 Changes
      • Feature: Add academic:updateprofiles command
    • 2.1 Changes
      • Breaking: ProfilesController::selectedProfilesAction() no longer dispatches ModifyListProfilesEvent
      • Breaking: Removed partials
      • Breaking: Replace constructor DI with inject-methods in AbstractProfileFactory
      • Feature: Add academic:createprofiles options --include-pids and --exclude-pids
      • Feature: Allow modifying default and settings pageTitleFormat for detail view
      • Feature: Dispatch PSR-14 event ModifySelectedContractsEvent in ProfilesController::selectedContractsAction()
      • Feature: Dispatch PSR-14 event ModifySelectedProfilesEvent in ProfilesController::selectedProfilesAction()
      • Feature: Introduce localized pageTitleFormat placeholder (LLL:EXT:)
      • Feature: Introduce PluginControllerActionContext suitable
      • Feature: Introduce PSR-14 ModifyProfileTitlePlaceholderReplacementEvent in ProfileTitleProvider
      • Feature: pageTitleFormat FlexForm option for person detail view
      • Important: Basic bootstrap styling
    • 2.0 Changes
      • Breaking: Migrated extbase plugins from list_type to CType
    • 2.x Changes by type
  • Sitemap

Options

Give feedback View source View as Markdown How to edit Edit on GitHub
  1. Academic Persons
  2. ChangeLog v3
  3. 3.0 Changes
  4. Feature: Profile names can be shown without a link
Give feedback Markdown Edit on GitHub

Feature: Profile names can be shown without a link 

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.

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:

<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>
Copied!

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

  • Previous
  • Next
Reference to the headline

Copy and freely share the link

This link target has no permanent anchor assigned. You can make a pull request on GitHub to suggest an anchor. The link below can be used, but is prone to change if the page gets moved.

Copy this link into your TYPO3 manual.

  • Home
  • Issues
  • Repository

Last rendered: Oct 15, 2026 10:24

© since 2023 by FGTCLB GmbH
  • Legal Notice
  • Privacy Policy