SiteTcaInline extends AbstractDatabaseRecordProvider implements FormDataProviderInterface
Special data provider for the sites configuration module.
Handle inline children of 'site'
Table of Contents
Interfaces
- FormDataProviderInterface
- Interface must be implemented by form data provider classes.
Methods
- __construct() : mixed
- addData() : array<string|int, mixed>
- Resolve inline fields
- injectConnectionPool() : void
- addInlineFirstPid() : array<string|int, mixed>
- The "entry" pid for inline records. Nested inline records can potentially hang around on different pid's, but the entry pid is needed for AJAX calls, so that they would know where the action takes place on the page structure.
- compileChild() : array<string|int, mixed>
- Compile a full child record
- getDatabaseRow() : array<string|int, mixed>
- Retrieve the requested row from the database
- getRecordFromDatabase() : array<string|int, mixed>
- Fetch a record from database. Deleted records will NOT be fetched.
- isInlineField() : bool
- Is column of type "inline"
- resolveSiteRelatedChildren() : array<string|int, mixed>
- Substitute the value in databaseRow of this inline field with an array that contains the databaseRows of currently connected records and some meta information.
Methods
__construct()
public
__construct(SiteFinder $siteFinder, InlineStackProcessor $inlineStackProcessor) : mixed
Parameters
- $siteFinder : SiteFinder
- $inlineStackProcessor : InlineStackProcessor
addData()
Resolve inline fields
public
addData(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
- $result : array<string|int, mixed>
-
Initialized result array
Return values
array<string|int, mixed> —Result filled with more data
injectConnectionPool()
public
injectConnectionPool(ConnectionPool $connectionPool) : void
Parameters
- $connectionPool : ConnectionPool
addInlineFirstPid()
The "entry" pid for inline records. Nested inline records can potentially hang around on different pid's, but the entry pid is needed for AJAX calls, so that they would know where the action takes place on the page structure.
protected
addInlineFirstPid(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
- $result : array<string|int, mixed>
-
Incoming result
Tags
Return values
array<string|int, mixed> —Modified result
compileChild()
Compile a full child record
protected
compileChild(array<string|int, mixed> $result, string $parentFieldName, int $childUid) : array<string|int, mixed>
Parameters
- $result : array<string|int, mixed>
-
Result array of parent
- $parentFieldName : string
-
Name of parent field
- $childUid : int
-
Uid of child to compile
Return values
array<string|int, mixed> —Full result array
getDatabaseRow()
Retrieve the requested row from the database
protected
getDatabaseRow(string $tableName, int $uid) : array<string|int, mixed>
Parameters
- $tableName : string
- $uid : int
Return values
array<string|int, mixed>getRecordFromDatabase()
Fetch a record from database. Deleted records will NOT be fetched.
protected
getRecordFromDatabase(string $tableName, int $uid) : array<string|int, mixed>
Method is similar to BackendUtility::getRecord, but is more picky about input and result.
Parameters
- $tableName : string
-
The table name to fetch record from
- $uid : int
-
Uid of record to fetch
Tags
Return values
array<string|int, mixed> —Fetched record row
isInlineField()
Is column of type "inline"
protected
isInlineField(array<string|int, mixed> $fieldConfig) : bool
Parameters
- $fieldConfig : array<string|int, mixed>
Return values
boolresolveSiteRelatedChildren()
Substitute the value in databaseRow of this inline field with an array that contains the databaseRows of currently connected records and some meta information.
protected
resolveSiteRelatedChildren(array<string|int, mixed> $result, string $fieldName) : array<string|int, mixed>
Parameters
- $result : array<string|int, mixed>
-
Result array
- $fieldName : string
-
Current handle field name
Return values
array<string|int, mixed> —Modified item array