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
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
getBackendUser()
Returns the current BE user.
protected
getBackendUser() : BackendUserAuthentication
Return values
BackendUserAuthenticationgetLanguageService()
protected
getLanguageService() : LanguageService
Return values
LanguageServicegetValidationDataAsJsonString()
Build JSON string for validations rules.
protected
getValidationDataAsJsonString(array<string|int, mixed> $config) : string
Parameters
- $config : array<string|int, mixed>
Return values
stringinitializeResultArray()
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
stringwrapSingleFieldContentWithLabelAndOuterDiv()
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