TYPO3 Logo
TYPO3 Core Changelog
Options
Give feedback View source How to edit Edit on GitHub Full documentation (single file)

TYPO3 Core Changelog

  • ChangeLog v14
    • 14.0 Changes
    • 14.x Changes by type
  • ChangeLog v13
    • 13.4.x Changes
    • 13.4 Changes
    • 13.3 Changes
    • 13.2 Changes
    • 13.1 Changes
    • 13.0 Changes
    • 13.x Changes by type
  • ChangeLog v12
    • 12.4.x Changes
    • 12.4 Changes
    • 12.3 Changes
    • 12.2 Changes
    • 12.1 Changes
    • 12.0 Changes
    • 12.x Changes by type
  • ChangeLog v11
    • 11.5.x Changes
    • 11.5 Changes
    • 11.4 Changes
    • 11.3 Changes
    • 11.2 Changes
    • 11.1 Changes
    • 11.0 Changes
    • 11.x Changes by type
  • ChangeLog v10
    • 10.4.x Changes
    • 10.4 Changes
    • 10.3 Changes
    • 10.2 Changes
    • 10.1 Changes
    • 10.0 Changes
    • 10.x Changes by type
  • ChangeLog v9
    • 9.5.x Changes
    • 9.5 Changes
    • 9.4 Changes
    • 9.3 Changes
    • 9.2 Changes
    • 9.1 Changes
    • 9.0 Changes
    • 9.x Changes by type
  • ChangeLog v8
    • 8.7.x Changes
    • 8.7 Changes
    • 8.6 Changes
    • 8.5 Changes
    • 8.4 Changes
    • 8.3 Changes
    • 8.2 Changes
    • 8.1 Changes
    • 8.0 Changes
    • 8.x Changes by type
  • ChangeLog v7
    • 7.6.x Changes
    • 7.6 Changes
    • 7.5 Changes
    • 7.4 Changes
    • 7.3 Changes
    • 7.2 Changes
    • 7.1 Changes
    • 7.0 Changes
    • 7.x Changes by type
  • Documenting Changes
  • Sitemap
  1. TYPO3 Core Changelog
  2. ChangeLog v8
  3. 8.7.x Changes
  4. Important: #79647 - Added Hook for resolving custom link types
Give feedback Edit on GitHub

Important: #79647 - Added Hook for resolving custom link types

See forge#79647

Description

A newly introduced hook in LinkService->resolveByStringRepresentation allows to resolve custom link types with special syntax. A reference to the empty $result array is passed as well as the $urn string that could not be resolved by the core.

Example

An example implementation for custom links that use myLinkIdentifier: as a prefix could look like this:

EXT:my_site/ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['Link']['resolveByStringRepresentation'][] =
   \MyVendor\MySite\Hooks\LinkServiceHook::class . '->resolveByStringRepresentation';
Copied!

EXT:my_site/Classes/Hooks/LinkServiceHook.php

namespace MyVendor\MySite\Hooks;

class LinkServiceHook
{
   public function resolveByStringRepresentation(array $parameters): void
   {
      // Only care for links that start with myLinkIdentifier:
      if (stripos($parameters['urn'], 'myLinkIdentifier:') !== 0) {
         return;
      }

      // Be aware: substr of 17 because of the identifier and the colon
      $parameters['result'] = ['myLinkIdentifier' => substr($parameters['urn'], 17)];
      $parameters['result']['type'] = 'myLinkIdentifier';
   }
}
Copied!
  • 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
  • Contact
  • Issues
  • Repository

Last rendered: Jun 30, 2025 15:44

© since 1997 by the TYPO3 contributors
  • Legal Notice
  • Privacy Policy