SoftReferenceIndex extends TypolinkSoftReferenceParser implements SingletonInterface

Class for processing of the default soft reference types for CMS:

Deprecated

will be removed in TYPO3 v12.0 in favor of SoftReferenceParserInterface

  • 'substitute' : A full field value targeted for manual substitution (for import /export features)
  • 'notify' : Just report if a value is found, nothing more.
  • 'typolink' : references to page id or file, possibly with anchor/target, possibly commaseparated list.
  • 'typolink_tag' : As typolink, but searching for tag to encapsulate it.
  • 'email' : Email highlight
  • 'url' : URL highlights (with a scheme)

Table of Contents

Interfaces

SingletonInterface
"empty" interface for singletons (marker interface pattern)

Properties

$tokenID_basePrefix  : string
$eventDispatcher  : EventDispatcherInterface
$parameters  : array<string|int, mixed>
$parserKey  : string
$softReferenceParserFactory  : SoftReferenceParserFactory

Methods

__call()  : mixed
Checks if the method of the given name is available, calls it but throws a deprecation.
__construct()  : mixed
findRef()  : mixed
findRef_email()  : array<string|int, mixed>|null
Finding email addresses in content and making them substitutable.
findRef_extension_fileref()  : array<string|int, mixed>|null
Finding reference to files from extensions in content, but only to notify about their existence. No substitution
findRef_typolink()  : array<string|int, mixed>|null
TypoLink value processing.
findRef_typolink_tag()  : array<string|int, mixed>|null
TypoLink tag processing.
findRef_url()  : array<string|int, mixed>|null
Finding URLs in content
getParserKey()  : string
Returns the parser key, which was previously set by "setParserKey"
makeTokenID()  : string
Make Token ID for input index.
parse()  : SoftReferenceParserResult
Main function through which can parse content for a specific field.
setParserKey()  : void
The two properties parserKey and parameters may be set to generate a unique token ID from them.
getTypoLinkParts()  : array<string|int, mixed>
Analyze content as a TypoLink value and return an array with properties.
setTokenIdBasePrefix()  : void
setTypoLinkPartsElement()  : string
Recompile a TypoLink value from the array of properties made with getTypoLinkParts() into an elements array

Properties

$tokenID_basePrefix

public string $tokenID_basePrefix

$eventDispatcher

protected EventDispatcherInterface $eventDispatcher

$parameters

protected array<string|int, mixed> $parameters = []

$parserKey

protected string $parserKey = ''

Methods

__call()

Checks if the method of the given name is available, calls it but throws a deprecation.

public __call(string $methodName, array<string|int, mixed> $arguments) : mixed

If the method does not exist, a fatal error is thrown.

Unavailable protected methods must return in a fatal error as usual. Marked methods are called and a deprecation entry is thrown.

__call() is not called for public methods.

Parameters
$methodName : string
$arguments : array<string|int, mixed>

findRef()

public findRef(mixed $table, mixed $field, mixed $uid, mixed $content, mixed $spKey, mixed $spParams[, mixed $structurePath = '' ]) : mixed
Deprecated

since v11, will be removed in v12

Parameters
$table : mixed
$field : mixed
$uid : mixed
$content : mixed
$spKey : mixed
$spParams : mixed
$structurePath : mixed = ''

findRef_email()

Finding email addresses in content and making them substitutable.

public findRef_email(string $content, array<string|int, mixed> $spParams) : array<string|int, mixed>|null
Parameters
$content : string

The input content to analyze

$spParams : array<string|int, mixed>

Parameters set for the softref parser key in TCA/columns

Return values
array<string|int, mixed>|null —

Result array on positive matches, see description above. Otherwise null

findRef_extension_fileref()

Finding reference to files from extensions in content, but only to notify about their existence. No substitution

public findRef_extension_fileref(string $content) : array<string|int, mixed>|null
Parameters
$content : string

The input content to analyze

Return values
array<string|int, mixed>|null —

Result array on positive matches, see description above. Otherwise null

TypoLink value processing.

public findRef_typolink(string $content, array<string|int, mixed> $spParams) : array<string|int, mixed>|null

Will process input value as a TypoLink value.

Parameters
$content : string

The input content to analyze

$spParams : array<string|int, mixed>

Parameters set for the softref parser key in TCA/columns. value "linkList" will split the string by comma before processing.

Tags
see
ContentObject::typolink()
see
getTypoLinkParts()
Return values
array<string|int, mixed>|null —

Result array on positive matches, see description above. Otherwise null

findRef_url()

Finding URLs in content

public findRef_url(string $content, array<string|int, mixed> $spParams) : array<string|int, mixed>|null
Parameters
$content : string

The input content to analyze

$spParams : array<string|int, mixed>

Parameters set for the softref parser key in TCA/columns

Return values
array<string|int, mixed>|null —

Result array on positive matches, see description above. Otherwise null

getParserKey()

Returns the parser key, which was previously set by "setParserKey"

public getParserKey() : string
Return values
string

makeTokenID()

Make Token ID for input index.

public makeTokenID([string $index = '' ]) : string
Parameters
$index : string = ''

Suffix value.

Return values
string —

Token ID

parse()

Main function through which can parse content for a specific field.

public parse(string $table, string $field, int $uid, string $content[, string $structurePath = '' ]) : SoftReferenceParserResult
Parameters
$table : string

Database table name

$field : string

Field name for which processing occurs

$uid : int

UID of the record

$content : string

The content/value of the field

$structurePath : string = ''

If running from inside a FlexForm structure, this is the path of the tag.

Return values
SoftReferenceParserResult —

Result object on positive matches, see description above.

setParserKey()

The two properties parserKey and parameters may be set to generate a unique token ID from them.

public setParserKey(string $parserKey, array<string|int, mixed> $parameters) : void
Parameters
$parserKey : string

The softref parser key.

$parameters : array<string|int, mixed>

Parameters of the softlink parser. Basically this is the content inside optional []-brackets after the softref keys. Parameters are exploded by ";

getTypoLinkParts()

Analyze content as a TypoLink value and return an array with properties.

protected getTypoLinkParts(string $typolinkValue, string $referenceTable, int $referenceUid) : array<string|int, mixed>

TypoLinks format is: <link [typolink] [browser target] [css class] [title attribute] [additionalParams]>. See TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::typolink() The syntax of the [typolink] part is: [typolink] = [page id][,[type value]][#[anchor, if integer = tt_content uid]] The extraction is based on how \TYPO3\CMS\Frontend\ContentObject::typolink() behaves.

Parameters
$typolinkValue : string

TypoLink value.

$referenceTable : string

The reference table

$referenceUid : int

The UID of the reference record

Tags
see
ContentObjectRenderer::typolink()
see
setTypoLinkPartsElement()
Return values
array<string|int, mixed> —

Array with the properties of the input link specified. The key "type" will reveal the type. If that is blank it could not be determined.

setTokenIdBasePrefix()

protected setTokenIdBasePrefix(string $table, string $uid, string $field, string $structurePath) : void
Parameters
$table : string
$uid : string
$field : string
$structurePath : string

setTypoLinkPartsElement()

Recompile a TypoLink value from the array of properties made with getTypoLinkParts() into an elements array

protected setTypoLinkPartsElement(array<string|int, mixed> $tLP, array<string|int, mixed> &$elements, string $content, int $idx) : string
Parameters
$tLP : array<string|int, mixed>

TypoLink properties

$elements : array<string|int, mixed>

Array of elements to be modified with substitution / information entries.

$content : string

The content to process.

$idx : int

Index value of the found element - user to make unique but stable tokenID

Tags
see
getTypoLinkParts()
Return values
string —

The input content, possibly containing tokens now according to the added substitution entries in $elements

On this page

Search results