PaletteAndSingleContainer extends AbstractContainer

Handle palettes and single fields.

This container is called by TabsContainer, NoTabsContainer and ListOfFieldsContainer.

This container mostly operates on TCA showItem of a specific type - the value is coming in from upper containers as "fieldArray". It handles palettes with all its different options and prepares rendering of single fields for the SingleFieldContainer.

Table of Contents

Properties

$data  : array<string|int, mixed>
Main data array to work on, given from parent to child elements
$defaultFieldControl  : array<string|int, mixed>
A list of default field controls added to the element / container.
$defaultFieldInformation  : array<string|int, mixed>
A list of default field information added to the element / container.
$defaultFieldWizard  : array<string|int, mixed>
A list of default field wizards added to the element / container.
$nodeFactory  : NodeFactory
Instance of the node factory to create sub elements, container and single element expansions.
$resultArray  : array<string|int, mixed>
Final result array accumulating results from children and final HTML

Methods

__construct()  : mixed
Set data to data array and register node factory to render sub elements
render()  : array<string|int, mixed>
Entry method
createPaletteContentArray()  : array<string|int, mixed>
Render single fields of a given palette
explodeSingleFieldShowItemConfiguration()  : array<string|int, mixed>
A single field of TCA 'types' 'showitem' can have three semicolon separated configuration options: fieldName: Name of the field to be found in TCA 'columns' section fieldLabel: An alternative field label paletteName: Name of a palette to be found in TCA 'palettes' section that is rendered after this field
fieldSetWrap()  : string
Wrap content in a field set
getBackendUser()  : BackendUserAuthentication
Returns the current BE user.
getLanguageService()  : LanguageService
getValidationDataAsJsonString()  : string
Build JSON string for validations rules.
initializeResultArray()  : array<string|int, mixed>
Initialize the array that is returned to parent after calling. This structure is identical for *all* nodes. Parent will merge the return of a child with its own stuff and in itself return an array of the same structure.
isUserNoTableWrappingField()  : bool
TRUE if field is of type user and to wrapping is requested
mergeChildReturnIntoExistingResult()  : array<string|int, mixed>
Merge existing data with a child return array.
renderFieldControl()  : array<string|int, mixed>
Merge field control configuration with default controls and render them.
renderFieldInformation()  : array<string|int, mixed>
Merge field information configuration with default and render them.
renderFieldWizard()  : array<string|int, mixed>
Merge field wizard configuration with default wizards and render them.
renderInnerPaletteContent()  : string
Renders inner content of single elements of a palette and wrap it as needed
renderTabMenu()  : string
Render tabs with label and content. Used by TabsContainer and FlexFormTabsContainer.
wrapSingleFieldContentWithLabelAndOuterDiv()  : string
Wrap a single element

Properties

$data

Main data array to work on, given from parent to child elements

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

$defaultFieldControl

A list of default field controls added to the element / container.

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

This property is often reset by single elements.

$defaultFieldInformation

A list of default field information added to the element / container.

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

$defaultFieldWizard

A list of default field wizards added to the element / container.

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

This property is often reset by single elements.

$nodeFactory

Instance of the node factory to create sub elements, container and single element expansions.

protected NodeFactory $nodeFactory

$resultArray

Final result array accumulating results from children and final HTML

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

Methods

__construct()

Set data to data array and register node factory to render sub elements

public __construct(NodeFactory $nodeFactory, array<string|int, mixed> $data) : mixed
Parameters
$nodeFactory : NodeFactory
$data : array<string|int, mixed>

render()

Entry method

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

As defined in initializeResultArray() of AbstractNode

createPaletteContentArray()

Render single fields of a given palette

protected createPaletteContentArray(string $paletteName) : array<string|int, mixed>
Parameters
$paletteName : string

The palette to render

Return values
array<string|int, mixed>

explodeSingleFieldShowItemConfiguration()

A single field of TCA 'types' 'showitem' can have three semicolon separated configuration options: fieldName: Name of the field to be found in TCA 'columns' section fieldLabel: An alternative field label paletteName: Name of a palette to be found in TCA 'palettes' section that is rendered after this field

protected explodeSingleFieldShowItemConfiguration(string $field) : array<string|int, mixed>
Parameters
$field : string

Semicolon separated field configuration

Tags
throws
RuntimeException
Return values
array<string|int, mixed>

fieldSetWrap()

Wrap content in a field set

protected fieldSetWrap(string $content[, bool $paletteHidden = false ][, string $label = '' ][, string $description = '' ]) : string
Parameters
$content : string

Incoming content

$paletteHidden : bool = false

TRUE if the palette is hidden

$label : string = ''

Given label

$description : string = ''

Given decription

Return values
string

Wrapped content

getValidationDataAsJsonString()

Build JSON string for validations rules.

protected getValidationDataAsJsonString(array<string|int, mixed> $config) : string
Parameters
$config : array<string|int, mixed>
Return values
string

initializeResultArray()

Initialize the array that is returned to parent after calling. This structure is identical for *all* nodes. Parent will merge the return of a child with its own stuff and in itself return an array of the same structure.

protected initializeResultArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

isUserNoTableWrappingField()

TRUE if field is of type user and to wrapping is requested

protected isUserNoTableWrappingField(array<string|int, mixed> $element) : bool
Parameters
$element : array<string|int, mixed>

Current element from "target structure" array

Return values
bool

TRUE if user and noTableWrapping is set

mergeChildReturnIntoExistingResult()

Merge existing data with a child return array.

protected mergeChildReturnIntoExistingResult(array<string|int, mixed> $existing, array<string|int, mixed> $childReturn[, bool $mergeHtml = true ]) : array<string|int, mixed>

The incoming $childReturn array should be initialized using initializeResultArray() beforehand.

Parameters
$existing : array<string|int, mixed>

Currently merged array

$childReturn : array<string|int, mixed>

Array returned by child

$mergeHtml : bool = true

If false, the ['html'] section of $childReturn will NOT be added to $existing

Return values
array<string|int, mixed>

Result array

renderFieldControl()

Merge field control configuration with default controls and render them.

protected renderFieldControl() : array<string|int, mixed>
Return values
array<string|int, mixed>

Result array

renderFieldInformation()

Merge field information configuration with default and render them.

protected renderFieldInformation() : array<string|int, mixed>
Return values
array<string|int, mixed>

Result array

renderFieldWizard()

Merge field wizard configuration with default wizards and render them.

protected renderFieldWizard() : array<string|int, mixed>
Return values
array<string|int, mixed>

Result array

renderInnerPaletteContent()

Renders inner content of single elements of a palette and wrap it as needed

protected renderInnerPaletteContent(array<string|int, mixed> $elementArray) : string
Parameters
$elementArray : array<string|int, mixed>

Array of elements

Return values
string

Wrapped content

renderTabMenu()

Render tabs with label and content. Used by TabsContainer and FlexFormTabsContainer.

protected renderTabMenu(array<string|int, mixed> $menuItems, string $domId[, int $defaultTabIndex = 1 ]) : string

Re-uses the template Tabs.html which is also used by ModuleTemplate.php.

Parameters
$menuItems : array<string|int, mixed>

Tab elements, each element is an array with "label" and "content"

$domId : string

DOM id attribute, will be appended with an iteration number per tab.

$defaultTabIndex : int = 1
Return values
string

wrapSingleFieldContentWithLabelAndOuterDiv()

Wrap a single element

protected wrapSingleFieldContentWithLabelAndOuterDiv(array<string|int, mixed> $element[, array<string|int, mixed> $additionalPaletteClasses = [] ]) : string
Parameters
$element : array<string|int, mixed>

Given element as documented above

$additionalPaletteClasses : array<string|int, mixed> = []

Additional classes to be added to HTML

Return values
string

Wrapped element


        
On this page

Search results