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