LegacyLinkBuilder extends AbstractTypolinkBuilder
Builds a TypoLink to a file (relative to fileadmin/ or something) or otherwise detects as an external URL
Table of Contents
Properties
- $contentObjectRenderer : ContentObjectRenderer
- $typoScriptFrontendController : TypoScriptFrontendController|null
Methods
- __construct() : mixed
- AbstractTypolinkBuilder constructor.
- build() : array<string|int, mixed>|LinkResultInterface
- Should be implemented by all subclasses to return an array with three parts: - URL - Link Text (can be modified) - Target (can be modified) - Tag Attributes (optional)
- getTypoScriptFrontendController() : TypoScriptFrontendController
- encodeFallbackLinkTextIfLinkTextIsEmpty() : string
- Helper method to a fallback method properly encoding HTML.
- forceAbsoluteUrl() : string
- Forces a given URL to be absolute.
- isLibParseFuncDefined() : bool
- Determines whether lib.parseFunc is defined.
- parseFallbackLinkTextIfLinkTextIsEmpty() : string
- Helper method to a fallback method parsing HTML out of it
- processUrl() : string|null
- Loops over all configured URL modifier hooks (if available) and returns the generated URL or NULL if no URL was generated.
- resolveTargetAttribute() : string
- Creates the value for target="..." in a typolink configuration
Properties
$contentObjectRenderer
protected
ContentObjectRenderer
$contentObjectRenderer
$typoScriptFrontendController
protected
TypoScriptFrontendController|null
$typoScriptFrontendController
Methods
__construct()
AbstractTypolinkBuilder constructor.
public
__construct(ContentObjectRenderer $contentObjectRenderer[, TypoScriptFrontendController $typoScriptFrontendController = null ]) : mixed
Parameters
- $contentObjectRenderer : ContentObjectRenderer
- $typoScriptFrontendController : TypoScriptFrontendController = null
build()
Should be implemented by all subclasses to return an array with three parts: - URL - Link Text (can be modified) - Target (can be modified) - Tag Attributes (optional)
public
build(array<string|int, mixed> &$linkDetails, string $linkText, string $target, array<string|int, mixed> $conf) : array<string|int, mixed>|LinkResultInterface
Parameters
- $linkDetails : array<string|int, mixed>
-
parsed link details by the LinkService
- $linkText : string
-
the link text
- $target : string
-
the target to point to
- $conf : array<string|int, mixed>
-
the TypoLink configuration array
Tags
Return values
array<string|int, mixed>|LinkResultInterface —an array with three parts (URL, Link Text, Target) - please note that in TYPO3 v12.0. this method will require to return a LinkResultInterface object
getTypoScriptFrontendController()
public
getTypoScriptFrontendController() : TypoScriptFrontendController
Return values
TypoScriptFrontendControllerencodeFallbackLinkTextIfLinkTextIsEmpty()
Helper method to a fallback method properly encoding HTML.
protected
encodeFallbackLinkTextIfLinkTextIsEmpty(string $originalLinkText, string $fallbackLinkText) : string
Parameters
- $originalLinkText : string
-
the original string, if empty, the fallback link text
- $fallbackLinkText : string
-
the string to be used.
Return values
string —the final text
forceAbsoluteUrl()
Forces a given URL to be absolute.
protected
forceAbsoluteUrl(string $url, array<string|int, mixed> $configuration) : string
Parameters
- $url : string
-
The URL to be forced to be absolute
- $configuration : array<string|int, mixed>
-
TypoScript configuration of typolink
Return values
string —The absolute URL
isLibParseFuncDefined()
Determines whether lib.parseFunc is defined.
protected
isLibParseFuncDefined() : bool
Return values
boolparseFallbackLinkTextIfLinkTextIsEmpty()
Helper method to a fallback method parsing HTML out of it
protected
parseFallbackLinkTextIfLinkTextIsEmpty(string $originalLinkText, string $fallbackLinkText) : string
Parameters
- $originalLinkText : string
-
the original string, if empty, the fallback link text
- $fallbackLinkText : string
-
the string to be used.
Return values
string —the final text
processUrl()
Loops over all configured URL modifier hooks (if available) and returns the generated URL or NULL if no URL was generated.
protected
processUrl(string $context, string $url[, array<string|int, mixed> $typolinkConfiguration = [] ]) : string|null
Parameters
- $context : string
-
The context in which the method is called (e.g. typoLink).
- $url : string
-
The URL that should be processed.
- $typolinkConfiguration : array<string|int, mixed> = []
-
The current link configuration array.
Tags
Return values
string|null —Returns NULL if URL was not processed or the processed URL as a string.
resolveTargetAttribute()
Creates the value for target="..." in a typolink configuration
protected
resolveTargetAttribute(array<string|int, mixed> $conf, string $name[, bool $respectFrameSetOption = false ][, string $fallbackTarget = '' ]) : string
Parameters
- $conf : array<string|int, mixed>
-
the typolink configuration
- $name : string
-
the key, usually "target", "extTarget" or "fileTarget"
- $respectFrameSetOption : bool = false
-
if set, then the fallback is only used as target if the doctype allows it
- $fallbackTarget : string = ''
-
the string to be used when no target is found in the configuration
Return values
string —the value of the target attribute, if there is one