---
title: "Link handler configuration"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:link-handler-configuration@12.4"
source: "ApiOverview/LinkHandling/Configuration.rst"
rendered: "2026-10-21T15:29:37+00:00"
---

> [!WARNING]
> **Attention**
>
> TYPO3 v12 has reached end-of-life as of April 30th 2026 and
> is no longer being maintained. Use the version switcher on the top
> left of this page to select documentation for a supported version of TYPO3.
>
> Need more time before upgrading?
> You can purchase Extended Long Term Support (ELTS) for TYPO3 v12 here:
> [TYPO3 ELTS](https://typo3.com/services/extended-support-elts).

# Link handler configuration {#link-handler-configuration}

Link browser tabs are registered in [page TSconfig](https://docs.typo3.org/m/typo3/reference-typoscript/12.4/en-us/PageTsconfig/Index.html#pagetsconfig) like this:

**EXT:examples/Configuration/TsConfig/Page/LinkBrowser/HaikuRecordLinkBrowser.tsconfig**

```typoscript
TCEMAIN.linkHandler {
    haiku {
        handler = TYPO3\CMS\Recordlist\LinkHandler\RecordLinkHandler
        label = LLL:EXT:examples/Resources/Private/Language/locallang_browse_links.xlf:haiku
        configuration {
            table = tx_examples_haiku
        }
        displayAfter = url
        scanBefore = page
    }
}
```

See the complete example: [Tutorial: Custom record link
browser](https://docs.typo3.org/permalink/t3coreapi:tablerecordlinkbrowsertutorials@12.4).

<!-- TODO: no Markdown rendering for "versionchanged" -->

Due to the integration of EXT:recordlist into EXT:backend the namespace of
link handlers has changed from
\TYPO3\CMS\Recordlist\LinkHandler
to
\TYPO3\CMS\Backend\LinkHandler.
For TYPO3 v12 the moved classes are available as an alias under the old
namespace to allow extensions to be compatible with TYPO3 v11 and v12.

Possible options are:

-   **`handler`**

    The fully-qualified classname of the link handler.

-   **`label`**

    The name displayed on the tab button in the link browser.

-   **`displayAfter` / `displayBefore`**

    Can be used to decide the order of the tabs.

-   **`scanAfter` / `scanBefore`**

    The first backend link handler who determines that it can [handle the link](https://docs.typo3.org/permalink/t3coreapi:tutorial-backend-link-handler-canhandlelink@12.4) may edit a link. Most
    likely your links will start with a [specific prefix](https://docs.typo3.org/permalink/t3coreapi:tutorial-github-link-handler@12.4) to identify them.

    You should register your tab at least before the `url` link handler.
    The `url` link handler treats all links, that no other handler can treat.

-   **`configuration`**

    Some custom configuration, available to the backend link handler.

## Record link handler configuration {#record-link-handler-configuration}

Record link handlers have the following additional options:

-   **`configuration.hidePageTree = 1`**

    Hide the page tree in the link browser

-   **`configuration.storagePid = 84`**

    The link browser starts with the given page

-   **`configuration.pageTreeMountPoints = 123,456`**

    Only records on these pages and their children will be displayed

## Page link handler configuration {#page-link-handler-configuration}

-   **`configuration.pageIdSelector.enabled`**

    Enable an additional field in the link browser to enter the uid of a page.

![The link browser field for entering a page uid.](Linkhandler/Images/LinkBrowserTSConfigExamplepageIdSelector.png)

Enable the field with the following page TSConfig:

**EXT:some_extension/Configuration/page.tsconfig**

```typoscript
TCEMAIN.linkHandler.page.configuration.pageIdSelector.enabled = 1
```
