PreviewUriBuilder

Generate links to Frontend URLs with a modified scope.

Table of Contents

Constants

OPTION_SWITCH_FOCUS  = 'switchFocus'
OPTION_WINDOW_FEATURES  = 'windowFeatures'
OPTION_WINDOW_NAME  = 'windowName'
OPTION_WINDOW_SCOPE  = 'windowScope'
OPTION_WINDOW_SCOPE_GLOBAL  = 'global'
OPTION_WINDOW_SCOPE_LOCAL  = 'local'

Properties

$additionalQueryParameters  : array<string|int, mixed>
$context  : Context
$languageId  : int
$moduleLoading  : bool
$pageId  : int
$record  : array<string|int, mixed>
$rootLine  : array<string|int, mixed>
$section  : string
$table  : string

Methods

__construct()  : mixed
buildDispatcherAttributes()  : array<string|int, mixed>|null
Builds attributes array (e.g. `['data-dispatch-action' => ...]`).
buildDispatcherDataAttributes()  : array<string|int, mixed>|null
Builds attributes array (e.g. `['dispatch-action' => ...]`).
buildImmediateActionElement()  : string|null
`<typo3-immediate-action>` does not have a specific meaning and is used to expose `data` attributes, see custom element in `ImmediateActionElement.ts`.
buildUri()  : UriInterface|null
Builds preview URI.
create()  : self
createForRecordPreview()  : self
getAdditionalQueryParametersForAccessRestrictedPages()  : array<string|int, mixed>
Creates ADMCMD parameters for the "viewpage" extension / frontend
getPreviewPageId()  : int
Returns the preview page id, based on the given input, by checking preview configuration and alternatively looking up the rootline.
isPreviewable()  : bool
serializeDispatcherAttributes()  : string|null
Serialized attributes are processed with `htmlspecialchars` and ready to be used.
withAdditionalQueryParameters()  : static
withLanguage()  : static
withModuleLoading()  : static
withRootLine()  : static
withSection()  : static
buildAttributes()  : array<string|int, mixed>|null
enrichOptions()  : array<string|int, mixed>
Handles options to used for opening preview URI in a new window/tab.
getPreviewUrlParameters()  : string
Returns the parameters for the preview URL by evaluating language overlays and preview configuration
isPreviewableDoktype()  : bool
Check whether the current page has a doktype, which can be previewed
loadActionDispatcher()  : void
loadImmediateActionElement()  : void
prefixAttributeNames()  : array<string|int, mixed>

Constants

OPTION_SWITCH_FOCUS

public mixed OPTION_SWITCH_FOCUS = 'switchFocus'

OPTION_WINDOW_FEATURES

public mixed OPTION_WINDOW_FEATURES = 'windowFeatures'

OPTION_WINDOW_NAME

public mixed OPTION_WINDOW_NAME = 'windowName'

OPTION_WINDOW_SCOPE

public mixed OPTION_WINDOW_SCOPE = 'windowScope'

OPTION_WINDOW_SCOPE_GLOBAL

public mixed OPTION_WINDOW_SCOPE_GLOBAL = 'global'

OPTION_WINDOW_SCOPE_LOCAL

public mixed OPTION_WINDOW_SCOPE_LOCAL = 'local'

Properties

$additionalQueryParameters

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

$moduleLoading

protected bool $moduleLoading = true

$record

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

$rootLine

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

Methods

__construct()

public __construct(int $pageId) : mixed
Parameters
$pageId : int

Page ID to be previewed

buildDispatcherAttributes()

Builds attributes array (e.g. `['data-dispatch-action' => ...]`).

public buildDispatcherAttributes([array<string|int, mixed>|null $options = null ]) : array<string|int, mixed>|null

CAVE: Attributes are NOT XSS-protected and need to be put through htmlspecialchars

Parameters
$options : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>|null

buildDispatcherDataAttributes()

Builds attributes array (e.g. `['dispatch-action' => ...]`).

public buildDispatcherDataAttributes([array<string|int, mixed>|null $options = null ]) : array<string|int, mixed>|null

CAVE: Attributes are NOT XSS-protected and need to be put through htmlspecialchars

Parameters
$options : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>|null

buildImmediateActionElement()

`<typo3-immediate-action>` does not have a specific meaning and is used to expose `data` attributes, see custom element in `ImmediateActionElement.ts`.

public buildImmediateActionElement([array<string|int, mixed>|null $options = null ]) : string|null
Parameters
$options : array<string|int, mixed>|null = null
Return values
string|null

buildUri()

Builds preview URI.

public buildUri([array<string|int, mixed>|null $options = null ][, Context|null $context = null ]) : UriInterface|null
Parameters
$options : array<string|int, mixed>|null = null
$context : Context|null = null
Return values
UriInterface|null

create()

public static create(int|array<string|int, mixed> $page) : self
Parameters
$page : int|array<string|int, mixed>

Page ID to be previewed

Return values
self

createForRecordPreview()

public static createForRecordPreview(string $table, int|array<string|int, mixed>|RecordInterface $record, int $pageId) : self
Parameters
$table : string
$record : int|array<string|int, mixed>|RecordInterface
$pageId : int
Internal

Only to be used by TYPO3 core - for now

Return values
self

getAdditionalQueryParametersForAccessRestrictedPages()

Creates ADMCMD parameters for the "viewpage" extension / frontend

public static getAdditionalQueryParametersForAccessRestrictedPages(array<string|int, mixed> $pageInfo, Context $context, array<string|int, mixed> $rootLine) : array<string|int, mixed>
Parameters
$pageInfo : array<string|int, mixed>
$context : Context
$rootLine : array<string|int, mixed>
Internal

not part of TYPO3 Core API

Return values
array<string|int, mixed>

getPreviewPageId()

Returns the preview page id, based on the given input, by checking preview configuration and alternatively looking up the rootline.

public static getPreviewPageId(string $table, int $recordId, int $pageId) : int
Parameters
$table : string

The table of the record to be previewed - might be empty for direct page preview ($pageId > 0)

$recordId : int

The id of the record to be previewed - might be empty for direct page preview ($pageId > 0)

$pageId : int

The page to preview the record on, also used to preview a page directly

Internal

Only to be used by TYPO3 core

Return values
int

isPreviewable()

public isPreviewable() : bool
Return values
bool

serializeDispatcherAttributes()

Serialized attributes are processed with `htmlspecialchars` and ready to be used.

public serializeDispatcherAttributes([array<string|int, mixed>|null $options = null ]) : string|null
Parameters
$options : array<string|int, mixed>|null = null
Return values
string|null

withAdditionalQueryParameters()

public withAdditionalQueryParameters(string|array<string|int, mixed> $additionalQueryParameters) : static
Parameters
$additionalQueryParameters : string|array<string|int, mixed>

additional URI query parameters

Return values
static

withLanguage()

public withLanguage(int $language) : static
Parameters
$language : int

particular language

Return values
static

withModuleLoading()

public withModuleLoading(bool $moduleLoading) : static
Parameters
$moduleLoading : bool

whether to enable JavaScript module loading

Return values
static

withRootLine()

public withRootLine(array<string|int, mixed> $rootLine) : static
Parameters
$rootLine : array<string|int, mixed>

(alternative) root-line of pages

Return values
static

withSection()

public withSection(string $section) : static
Parameters
$section : string

particular section (anchor element)

Return values
static

buildAttributes()

protected buildAttributes([array<string|int, mixed>|null $options = null ]) : array<string|int, mixed>|null
Parameters
$options : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>|null

enrichOptions()

Handles options to used for opening preview URI in a new window/tab.

protected enrichOptions([array<string|int, mixed>|null $options = null ]) : array<string|int, mixed>
  • switchFocus (bool): whether to focus new window in browser
  • windowName (string): name of window for internal reference
  • windowScope (string): local (current document) global (whole backend)
Parameters
$options : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>

getPreviewUrlParameters()

Returns the parameters for the preview URL by evaluating language overlays and preview configuration

protected static getPreviewUrlParameters(int $previewPageId, string $table, int|array<string|int, mixed> $record) : string
Parameters
$previewPageId : int
$table : string
$record : int|array<string|int, mixed>
Return values
string

isPreviewableDoktype()

Check whether the current page has a doktype, which can be previewed

protected static isPreviewableDoktype(int $pageId, int $doktype) : bool
Parameters
$pageId : int
$doktype : int
Return values
bool

loadActionDispatcher()

protected loadActionDispatcher() : void

loadImmediateActionElement()

protected loadImmediateActionElement() : void

prefixAttributeNames()

protected prefixAttributeNames(string $prefix, array<string|int, mixed> $attributes) : array<string|int, mixed>
Parameters
$prefix : string
$attributes : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results