InlineRecordContainer extends AbstractContainer

Render a single inline record relation.

This container is called by InlineControlContainer to render single existing records. Furthermore, it is called by FormEngine for an incoming ajax request to expand an existing record or to create a new one.

This container creates the outer HTML of single inline records - eg. drag and drop and delete buttons. For rendering of the record itself processing is handed over to FullRecordContainer.

Table of Contents

Properties

$backendViewFactory  : BackendViewFactory
$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.
$inlineData  : array<string|int, mixed>
Inline data array used for JSON output
$nodeFactory  : NodeFactory

Methods

__construct()  : mixed
injectBackendViewFactory()  : mixed
injectNodeFactory()  : void
Injection of NodeFactory, which is used in this abstract already.
render()  : array<string|int, mixed>
Entry method
setData()  : void
Retrieve the current data array from NodeFactory.
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
getBackendUserAuthentication()  : BackendUserAuthentication
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.
mergeChildReturnIntoExistingResult()  : array<string|int, mixed>
Merge existing data with a child return array.
renderChild()  : array<string|int, mixed>
Render inner child
renderCombinationChild()  : array<string|int, mixed>
Render child child
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.
renderForeignRecordHeader()  : string
Renders the HTML header for a foreign record, such as the title, toggle-function, drag'n'drop, etc.
renderForeignRecordHeaderControl()  : string
Render the control-icons for a record header (create new, sorting, delete, disable/enable).
renderTabMenu()  : string
Render tabs with label and content. Used by TabsContainer and FlexFormTabsContainer.
wrapWithFieldsetAndLegend()  : string

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.

$inlineData

Inline data array used for JSON output

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

Methods

injectNodeFactory()

Injection of NodeFactory, which is used in this abstract already.

public injectNodeFactory(NodeFactory $nodeFactory) : void

Using inject* method to not pollute __construct() for inheriting classes.

Parameters
$nodeFactory : NodeFactory

render()

Entry method

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

As defined in initializeResultArray() of AbstractNode

setData()

Retrieve the current data array from NodeFactory.

public setData(array<string|int, mixed> $data) : void
Parameters
$data : 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>

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>

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

renderChild()

Render inner child

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

Result array

renderCombinationChild()

Render child child

protected renderCombinationChild(array<string|int, mixed> $data, string $appendFormFieldNames) : array<string|int, mixed>

Render a table with FormEngine, that occurs on an intermediate table but should be editable directly, so two tables are combined (the intermediate table with attributes and the sub-embedded table). -> This is a direct embedding over two levels!

Parameters
$data : array<string|int, mixed>
$appendFormFieldNames : string

The [

][] of the parent record (the intermediate table)

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

renderForeignRecordHeader()

Renders the HTML header for a foreign record, such as the title, toggle-function, drag'n'drop, etc.

protected renderForeignRecordHeader(array<string|int, mixed> $data, string $ariaAttributesString) : string

Later on the command-icons are inserted here.

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

Current data

$ariaAttributesString : string

HTML aria attributes for the collapse button

Return values
string

The HTML code of the header

renderForeignRecordHeaderControl()

Render the control-icons for a record header (create new, sorting, delete, disable/enable).

protected renderForeignRecordHeaderControl(array<string|int, mixed> $data) : string

Most of the parts are copy&paste from TYPO3\CMS\Backend\RecordList\DatabaseRecordList and modified for the JavaScript calls here

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

Current data

Return values
string

The HTML code with the control-icons

renderTabMenu()

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

protected renderTabMenu(array<string|int, mixed> $menuItems, string $domId) : 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.

Return values
string

wrapWithFieldsetAndLegend()

protected wrapWithFieldsetAndLegend(string $fieldContent) : string
Parameters
$fieldContent : string
Return values
string

        
On this page

Search results