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
= []
$context
protected
Context
$context
$languageId
protected
int
$languageId
= 0
$moduleLoading
protected
bool
$moduleLoading
= true
$pageId
protected
int
$pageId
$record
protected
array<string|int, mixed>
$record
= []
$rootLine
protected
array<string|int, mixed>
$rootLine
= []
$section
protected
string
$section
= ''
$table
protected
string
$table
= 'pages'
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>|nullbuildDispatcherDataAttributes()
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>|nullbuildImmediateActionElement()
`<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|nullbuildUri()
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|nullcreate()
public
static create(int|array<string|int, mixed> $page) : self
Parameters
- $page : int|array<string|int, mixed>
-
Page ID to be previewed
Return values
selfcreateForRecordPreview()
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
Only to be used by TYPO3 core - for now
Return values
selfgetAdditionalQueryParametersForAccessRestrictedPages()
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>
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
Only to be used by TYPO3 core
Return values
intisPreviewable()
public
isPreviewable() : bool
Return values
boolserializeDispatcherAttributes()
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|nullwithAdditionalQueryParameters()
public
withAdditionalQueryParameters(string|array<string|int, mixed> $additionalQueryParameters) : static
Parameters
- $additionalQueryParameters : string|array<string|int, mixed>
-
additional URI query parameters
Return values
staticwithLanguage()
public
withLanguage(int $language) : static
Parameters
- $language : int
-
particular language
Return values
staticwithModuleLoading()
public
withModuleLoading(bool $moduleLoading) : static
Parameters
- $moduleLoading : bool
-
whether to enable JavaScript module loading
Return values
staticwithRootLine()
public
withRootLine(array<string|int, mixed> $rootLine) : static
Parameters
- $rootLine : array<string|int, mixed>
-
(alternative) root-line of pages
Return values
staticwithSection()
public
withSection(string $section) : static
Parameters
- $section : string
-
particular section (anchor element)
Return values
staticbuildAttributes()
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>|nullenrichOptions()
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 browserwindowName
(string): name of window for internal referencewindowScope
(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
stringisPreviewableDoktype()
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
boolloadActionDispatcher()
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>