CategoryBasedFileCollection extends AbstractFileCollection

A collection containing a set files belonging to certain categories.

This collection is persisted to the database with the accordant category identifiers.

Table of Contents

Properties

$description  : string
Collection description
$itemsCriteria  : mixed
Field contents of $itemsCriteriaField. Defines which the items or search criteria for the items depending on the type (see self::$type above) of this file collection.
$itemsCriteriaField  : string
The name of the field items are handled with (usually either criteria, items or folder)
$itemTableName  : string
Name of the table records of this collection are stored in
$storage  : SplDoublyLinkedList
The local storage
$storageItemsField  : string
The table name collections are stored to
$storageTableName  : string
The table name collections are stored to
$title  : string
Collection title
$type  : string
The type of file collection (see \TYPO3\CMS\Core\Collection\RecordCollectionRepository::TYPE constants)
$uid  : int
Uid of the storage

Methods

__construct()  : mixed
Creates this object.
__serialize()  : array<string|int, mixed>
Returns class state to be serialized.
__unserialize()  : void
Load records with the given serialized information
add()  : mixed
Adds a file to this collection.
addAll()  : mixed
Adds all files of another collection to the current one.
count()  : int
Count elements of an object
create()  : CollectionInterface
Creates a new collection objects and reconstitutes the given database record to the new object.
current()  : T|null
Return the current element
fromArray()  : mixed
Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without $this->itemTableName= $array['table_name'], but with $this->storageItemsFieldContent = $array[self::$storageItemsField];
getDescription()  : string
Getter for the description
getIdentifier()  : int
Returns the uid of the collection
getItems()  : array<string|int, mixed>
Gets the current available items.
getItemsCriteria()  : mixed
Gets ths items criteria.
getItemTableName()  : string
Setter for the name of the data-source table
getTitle()  : string
Getter for the title
getUid()  : int
Getter for the UID
key()  : string
Return the key of the current element
load()  : CollectionInterface
Loads the collections with the given id from persistence
loadContents()  : mixed
Populates the content-entries of the collection
next()  : void
Move forward to next element
persist()  : mixed
Persists current collection state to underlying storage
remove()  : mixed
Removes a file from this collection.
removeAll()  : mixed
Removes all elements of the current collection.
rewind()  : void
Rewind the Iterator to the first element
setDescription()  : mixed
Sets the description.
setIdentifier()  : mixed
Sets the identifier of the collection
setItemsCriteria()  : mixed
Sets the items criteria.
setItemTableName()  : mixed
Setter for the name of the data-source table
setTitle()  : mixed
Setter for the title
toArray()  : array<string|int, mixed>
Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without 'table_name' => $this->getItemTableName()
valid()  : bool
Checks if current position is valid
getCollectionDatabaseTable()  : string
getItemUidList()  : string
Generates comma-separated list of entry uids for usage in DataHandler
getPersistableDataArray()  : array<string|int, mixed>
Returns an array of the persistable properties and contents which are processable by DataHandler.

Properties

$description

Collection description

protected string $description

$itemsCriteria

Field contents of $itemsCriteriaField. Defines which the items or search criteria for the items depending on the type (see self::$type above) of this file collection.

protected mixed $itemsCriteria

$itemsCriteriaField

The name of the field items are handled with (usually either criteria, items or folder)

protected static string $itemsCriteriaField = 'category'

$itemTableName

Name of the table records of this collection are stored in

protected string $itemTableName = 'sys_category'

$storage

The local storage

protected SplDoublyLinkedList $storage

$storageItemsField

The table name collections are stored to

protected static string $storageItemsField = 'items'

$storageTableName

The table name collections are stored to

protected static string $storageTableName = 'sys_file_collection'

$title

Collection title

protected string $title

$type

The type of file collection (see \TYPO3\CMS\Core\Collection\RecordCollectionRepository::TYPE constants)

protected static string $type = 'categories'

$uid

Uid of the storage

protected int $uid = 0

Methods

__construct()

Creates this object.

public __construct() : mixed

__serialize()

Returns class state to be serialized.

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

__unserialize()

Load records with the given serialized information

public __unserialize(array<string|int, mixed> $arrayRepresentation) : void
Parameters
$arrayRepresentation : array<string|int, mixed>

count()

Count elements of an object

public count() : int
Return values
int

The custom count as an integer.

create()

Creates a new collection objects and reconstitutes the given database record to the new object.

public static create(array<string|int, mixed> $collectionRecord[, bool $fillItems = false ]) : CollectionInterface
Parameters
$collectionRecord : array<string|int, mixed>

Database record

$fillItems : bool = false

Populates the entries directly on load, might be bad for memory on large collections

Return values
CollectionInterface

current()

Return the current element

public current() : T|null
Return values
T|null

fromArray()

Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without $this->itemTableName= $array['table_name'], but with $this->storageItemsFieldContent = $array[self::$storageItemsField];

public fromArray(array<string|int, mixed> $array) : mixed
Parameters
$array : array<string|int, mixed>

getDescription()

Getter for the description

public getDescription() : string
Return values
string

getIdentifier()

Returns the uid of the collection

public getIdentifier() : int
Return values
int

getItems()

Gets the current available items.

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

getItemsCriteria()

Gets ths items criteria.

public getItemsCriteria() : mixed

getItemTableName()

Setter for the name of the data-source table

public getItemTableName() : string
Return values
string

getTitle()

Getter for the title

public getTitle() : string
Return values
string

getUid()

Getter for the UID

public getUid() : int
Return values
int

key()

Return the key of the current element

public key() : string
Return values
string

load()

Loads the collections with the given id from persistence

public static load(int $id[, bool $fillItems = false ]) : CollectionInterface

For memory reasons, per default only f.e. title, database-table, identifier (what ever static data is defined) is loaded. Entries can be load on first access.

Parameters
$id : int

Id of database record to be loaded

$fillItems : bool = false

Populates the entries directly on load, might be bad for memory on large collections

Return values
CollectionInterface

loadContents()

Populates the content-entries of the collection

public loadContents() : mixed

next()

Move forward to next element

public next() : void

persist()

Persists current collection state to underlying storage

public persist() : mixed

remove()

Removes a file from this collection.

public remove(File $file) : mixed
Parameters
$file : File

removeAll()

Removes all elements of the current collection.

public removeAll() : mixed

rewind()

Rewind the Iterator to the first element

public rewind() : void

setDescription()

Sets the description.

public setDescription(string $description) : mixed
Parameters
$description : string

setIdentifier()

Sets the identifier of the collection

public setIdentifier(int $id) : mixed
Parameters
$id : int

setItemsCriteria()

Sets the items criteria.

public setItemsCriteria(mixed $itemsCriteria) : mixed
Parameters
$itemsCriteria : mixed

setItemTableName()

Setter for the name of the data-source table

public setItemTableName(string $tableName) : mixed
Parameters
$tableName : string

setTitle()

Setter for the title

public setTitle(string $title) : mixed
Parameters
$title : string

toArray()

Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without 'table_name' => $this->getItemTableName()

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

valid()

Checks if current position is valid

public valid() : bool
Return values
bool

The return value will be cast to boolean and then evaluated.

getCollectionDatabaseTable()

protected static getCollectionDatabaseTable() : string
Return values
string

getItemUidList()

Generates comma-separated list of entry uids for usage in DataHandler

protected getItemUidList([bool $includeTableName = false ]) : string
Parameters
$includeTableName : bool = false
Return values
string

getPersistableDataArray()

Returns an array of the persistable properties and contents which are processable by DataHandler.

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

        
On this page

Search results