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: A prefix for phone link targets
Give feedback Markdown Edit on GitHub

Feature: A prefix for phone link targets 

Description 

The site setting plugin.tx_academicpersons.phoneNumbers.telPrefix is prepended to the tel: target of every phone number this extension renders — in the list, list and detail, card, selected profiles and selected contracts elements, in the profile detail view, and in the contacts of a page that fgtclb/academic-contacts4pages renders through the same partials. The spaces of prefix and number alike are removed from the target, so the result is dialable.

The visible link text is never touched: it stays the number as an editor stored it, without the prefix.

The setting is empty by default, and with an empty prefix the target is the stored number without its spaces.

Constants
plugin.tx_academicpersons.phoneNumbers.telPrefix = +49 6241 509
Copied!

With that prefix, a phone number stored as 123 renders as

<a href="tel:+496241509123">123</a>
Copied!

Impact 

The prefix is meant for an installation that stores phone numbers as extensions only, where every stored number is missing the same leading part. It is applied unconditionally: an installation that mixes full numbers and extensions would prefix its full numbers as well, and leaves the setting empty.

The setting is declared with the site set fgtclb/academic-persons and as a constant of the shared static template, with the same default in both — a site configures it in Site Settings or in the Constants of its TypoScript record, whichever mechanism it uses.

  • 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