FrontendTypoScript

FinalYes

This class contains the TypoScript set up by the PrepareTypoScriptFrontendRendering Frontend middleware. It can be accessed in content objects:

$frontendTypoScript = $request->getAttribute('frontend.typoscript');

Table of Contents

Methods

__construct()  : mixed
getConfigArray()  : array<string|int, mixed>
Array representation of getConfigTree().
getConfigTree()  : RootNode
The merged TypoScript 'config.'.
getFlatSettings()  : array<string|int, mixed>
This is *always* set up by the middleware / factory: Current settings ("constants") are needed for page cache identifier calculation.
getPageArray()  : array<string|int, mixed>
Array representation of getPageTree().
getPageTree()  : RootNode
The determined PAGE object from main TypoScript 'setup' that depends on type / typeNum.
getSettingsConditionList()  : array<string|int, mixed>
List of settings conditions with verdicts. Used internally for page cache identifier calculation.
getSettingsTree()  : RootNode
The settings ("constants") AST.
getSetupArray()  : array<string|int, mixed>
The full Frontend TypoScript array.
getSetupConditionList()  : array<string|int, mixed>
List of setup conditions with verdicts. Used internally for page cache identifier calculation.
getSetupIncludeTree()  : RootInclude|null
A tree of all TypoScript setup includes. Used internally within FrontendTypoScriptFactory to suppress calculating the include tree twice.
getSetupTree()  : RootNode
hasPage()  : bool
hasSetup()  : bool
When a page is retrieved from cache and does not contain COA_INT or USER_INT objects, Frontend TypoScript setup is not calculated, AST and the array representation aren't set.
setConfigArray()  : void
setConfigTree()  : void
setPageArray()  : void
setPageTree()  : void
setSetupArray()  : void
setSetupIncludeTree()  : void
setSetupTree()  : void

Methods

__construct()

public __construct(RootNode $settingsTree, array<string|int, mixed> $settingsConditionList, array<string|int, mixed> $flatSettings, array<string|int, mixed> $setupConditionList) : mixed
Parameters
$settingsTree : RootNode
$settingsConditionList : array<string|int, mixed>
$flatSettings : array<string|int, mixed>
$setupConditionList : array<string|int, mixed>

getConfigArray()

Array representation of getConfigTree().

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

getConfigTree()

The merged TypoScript 'config.'.

public getConfigTree() : RootNode

This is the result of the "global" TypoScript 'config' section, merged with the 'config' section of the determined PAGE object which can override "global" 'config' per type / typeNum.

This is always needed within casual Frontend rendering by FrontendTypoScriptFactory and has a dedicated cache layer to be quick to retrieve. It is needed even in fully cached pages context to for instance know if debug headers should be added ("config.debug=1") to a response.

Internal

Internal for now until the AST API stabilized.

Return values
RootNode

getFlatSettings()

This is *always* set up by the middleware / factory: Current settings ("constants") are needed for page cache identifier calculation.

public getFlatSettings() : array<string|int, mixed>

This is a "flattened" array of all settings, as example, consider these settings TypoScript:

mySettings {
    foo = fooValue
    bar = barValue
}

This will result in this array:

$flatSettings = [
    'mySettings.foo' => 'fooValue',
    'mySettings.bar' => 'barValue',
];
Return values
array<string|int, mixed>

getPageArray()

Array representation of getPageTree().

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

getPageTree()

The determined PAGE object from main TypoScript 'setup' that depends on type / typeNum.

public getPageTree() : RootNode

This is used internally by RequestHandler for page generation. It is not set in full cached page scenarios without _INT object.

Internal
Return values
RootNode

getSettingsConditionList()

List of settings conditions with verdicts. Used internally for page cache identifier calculation.

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

getSettingsTree()

The settings ("constants") AST.

public getSettingsTree() : RootNode
Internal

Internal for now until the AST API stabilized.

Return values
RootNode

getSetupArray()

The full Frontend TypoScript array.

public getSetupArray() : array<string|int, mixed>

This is always set up as soon as the Frontend rendering needs to actually render something and can not get the full content from page cache. This is the case when a page cache entry does not exist, or when the page contains COA_INT or USER_INT objects.

Return values
array<string|int, mixed>

getSetupConditionList()

List of setup conditions with verdicts. Used internally for page cache identifier calculation.

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

getSetupIncludeTree()

A tree of all TypoScript setup includes. Used internally within FrontendTypoScriptFactory to suppress calculating the include tree twice.

public getSetupIncludeTree() : RootInclude|null
Internal
Return values
RootInclude|null

getSetupTree()

public getSetupTree() : RootNode
Internal

Internal for now until the AST API stabilized.

Return values
RootNode

hasPage()

public hasPage() : bool
Internal
Return values
bool

hasSetup()

When a page is retrieved from cache and does not contain COA_INT or USER_INT objects, Frontend TypoScript setup is not calculated, AST and the array representation aren't set.

public hasSetup() : bool

Calling getSetupTree() or getSetupArray() will then throw an exception.

To avoid the exception, consumers can call hasSetup() beforehand.

Note casual content objects do not need to do this, since setup TypoScript is always set up when content objects need to be calculated.

Internal
Return values
bool

setConfigArray()

public setConfigArray(array<string|int, mixed> $configArray) : void
Parameters
$configArray : array<string|int, mixed>
Internal

setPageArray()

public setPageArray(array<string|int, mixed> $pageArray) : void
Parameters
$pageArray : array<string|int, mixed>
Internal

setSetupArray()

public setSetupArray(array<string|int, mixed> $setupArray) : void
Parameters
$setupArray : array<string|int, mixed>
Internal

        
On this page

Search results