‪TYPO3CMS  ‪main
TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface Interface Reference
Inheritance diagram for TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface:
TYPO3\CMS\Backend\LinkHandler\MailLinkHandler TYPO3\CMS\Backend\LinkHandler\PageLinkHandler TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler TYPO3\CMS\Backend\LinkHandler\TelephoneLinkHandler TYPO3\CMS\Backend\LinkHandler\UrlLinkHandler TYPO3\CMS\Filelist\LinkHandler\AbstractResourceLinkHandler TYPO3\CMS\Filelist\LinkHandler\FileLinkHandler TYPO3\CMS\Filelist\LinkHandler\FolderLinkHandler

Public Member Functions

array getLinkAttributes ()
 
string[] modifyLinkAttributes (array $fieldDefinitions)
 
 initialize (AbstractLinkBrowserController $linkBrowser, $identifier, array $configuration)
 
bool canHandleLink (array $linkParts)
 
string formatCurrentUrl ()
 
string render (ServerRequestInterface $request)
 
bool isUpdateSupported ()
 
string[] getBodyTagAttributes ()
 

Detailed Description

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.

Definition at line 35 of file LinkHandlerInterface.php.

Member Function Documentation

◆ canHandleLink()

bool TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface::canHandleLink ( array  $linkParts)

Checks if this is the handler for the given link

The handler may store this information locally for later usage.

Parameters
array$linkParts‪Link parts as returned from TypoLinkCodecService
Returns
‪bool

Implemented in TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler, TYPO3\CMS\Filelist\LinkHandler\AbstractResourceLinkHandler, TYPO3\CMS\Backend\LinkHandler\TelephoneLinkHandler, TYPO3\CMS\Backend\LinkHandler\PageLinkHandler, TYPO3\CMS\Backend\LinkHandler\UrlLinkHandler, and TYPO3\CMS\Backend\LinkHandler\MailLinkHandler.

◆ formatCurrentUrl()

◆ getBodyTagAttributes()

◆ getLinkAttributes()

array TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface::getLinkAttributes ( )

◆ initialize()

TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface::initialize ( AbstractLinkBrowserController  $linkBrowser,
  $identifier,
array  $configuration 
)

Initialize the handler

Parameters
string$identifier
array$configuration‪Page TSconfig of this link handler: TCEMAIN.linkHandler.<identifier>.configuration

Implemented in TYPO3\CMS\Filelist\LinkHandler\AbstractResourceLinkHandler, and TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler.

◆ isUpdateSupported()

bool TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface::isUpdateSupported ( )

Return TRUE if the handler supports to update a link.

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

Returns
‪bool

Implemented in TYPO3\CMS\Filelist\LinkHandler\AbstractResourceLinkHandler.

◆ modifyLinkAttributes()

string [] TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface::modifyLinkAttributes ( array  $fieldDefinitions)
Parameters
string[]$fieldDefinitions‪Array of link attribute field definitions
Returns
‪string[]

Implemented in TYPO3\CMS\Backend\LinkHandler\PageLinkHandler, and TYPO3\CMS\Filelist\LinkHandler\AbstractResourceLinkHandler.

◆ render()

string TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface::render ( ServerRequestInterface  $request)