LinkHandlerInterface

Interface for link handlers displayed in the LinkBrowser.

Link handlers are used when the global "link" modal is rendered: When linking an RTE text snipped to something, and for fields like "header_link" in table "tt_content".

A link handler is a tab in the link modal.

Link handlers are configured with page TSconfig TCEMAIN.linkHandler - each tab is a sub-key in this area. The core configures a couple of default link handlers like linking to a page, a mail, telephone and similar.

Link handlers create a TYPO3 specific URI prefixed with 't3://' managed by ext:core LinkHandling classes. The frontend translates this to appropriate HTML using the ext:frontend Typolink classes.

Table of Contents

Methods

canHandleLink()  : bool
Checks if this is the handler for the given link
formatCurrentUrl()  : string
Format the current link for HTML output
getBodyTagAttributes()  : array<string|int, string>
getLinkAttributes()  : array<string|int, mixed>
initialize()  : mixed
Initialize the handler
isUpdateSupported()  : bool
Return TRUE if the handler supports to update a link.
modifyLinkAttributes()  : array<string|int, string>
render()  : string
Render the link handler. Ideally this modifies the view, but it can also render content directly.

Methods

Checks if this is the handler for the given link

public canHandleLink(array<string|int, mixed> $linkParts) : bool

The handler may store this information locally for later usage.

Parameters
$linkParts : array<string|int, mixed>

Link parts as returned from TypoLinkCodecService

Return values
bool

formatCurrentUrl()

Format the current link for HTML output

public formatCurrentUrl() : string
Return values
string

getBodyTagAttributes()

public getBodyTagAttributes() : array<string|int, string>
Return values
array<string|int, string>

Array of body-tag attributes

getLinkAttributes()

public getLinkAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>

initialize()

Initialize the handler

public initialize(AbstractLinkBrowserController $linkBrowser, string $identifier, array<string|int, mixed> $configuration) : mixed
Parameters
$linkBrowser : AbstractLinkBrowserController
$identifier : string
$configuration : array<string|int, mixed>

Page TSconfig of this link handler: TCEMAIN.linkHandler..configuration

isUpdateSupported()

Return TRUE if the handler supports to update a link.

public isUpdateSupported() : bool

This is useful for file or page links, when only attributes are changed.

Return values
bool

modifyLinkAttributes()

public modifyLinkAttributes(array<string|int, string> $fieldDefinitions) : array<string|int, string>
Parameters
$fieldDefinitions : array<string|int, string>

Array of link attribute field definitions

Return values
array<string|int, string>

render()

Render the link handler. Ideally this modifies the view, but it can also render content directly.

public render(ServerRequestInterface $request) : string
Parameters
$request : ServerRequestInterface
Return values
string

        
On this page

Search results