AbstractTreeView
Base class for creating a browsable array/page/folder tree in HTML
This class is a TYPO3 Backend implementation and is not considered part of the Public TYPO3 API.
Table of Contents
Properties
- $buffer_idH : array<string|int, mixed>
- $ids : array<string|int, mixed>
- $ids_hierarchy : array<string|int, mixed>
- $makeHTML : int
- If 1, HTML code is also accumulated in ->tree array during rendering of the tree
- $orderByFields : string
- Field for ORDER BY. Is set by function init.
- $orig_ids_hierarchy : array<string|int, mixed>
- $tree : array<string|int, mixed>
- $clause : string
- WHERE clause used for selecting records for the tree. Is set by function init.
- $defaultList : string
- List of other fields which are ALLOWED to set (here, based on the "pages" table!)
- $fieldArray : array<string|int, mixed>
- Default set of fields selected from the tree table.
- $parentField : string
- Defines the field of $table which is the parent id field (like pid for table pages).
- $table : string
- Database table to get the tree data from.
Methods
- __construct() : mixed
- Constructor
- addField() : mixed
- Adds a fieldname to the internal array ->fieldArray
- expandNext() : bool
- Returns TRUE/FALSE if the next level for $id should be expanded - based on data in $this->stored[][] and ->expandAll flag.
- getTree() : int
- Fetches the data for the tree
- init() : mixed
- Initialize the tree class. Needs to be overwritten
- reset() : mixed
- Resets the tree, recs, ids, ids_hierarchy and orig_ids_hierarchy internal variables. Use it if you need it.
- getBackendUser() : BackendUserAuthentication
- getCount() : int
- Returns the number of records having the parent id, $uid
- getDataInit() : mixed
- Getting the tree data: Selecting/Initializing data pointer to items for a certain parent id.
- getDataNext() : array<string|int, mixed>|bool
- Getting the tree data: next entry
- getIcon() : string
- Get the icon markup for the row
- getLanguageService() : LanguageService
- getTitleAttrib() : string
- Returns the value for the image "title" attribute
- getTitleStr() : string
- Returns the title for the input record. If blank, a "no title" label (localized) will be returned.
- PM_ATagWrap() : string
- Wrap the plus/minus icon in a link
- PMicon() : string
- Generate the plus/minus icon for the browsable tree.
Properties
$buffer_idH
public
array<string|int, mixed>
$buffer_idH
= []
$ids
public
array<string|int, mixed>
$ids
= []
$ids_hierarchy
public
array<string|int, mixed>
$ids_hierarchy
= []
$makeHTML
If 1, HTML code is also accumulated in ->tree array during rendering of the tree
public
int
$makeHTML
= 1
$orderByFields
Field for ORDER BY. Is set by function init.
public
string
$orderByFields
= ''
Tags
$orig_ids_hierarchy
public
array<string|int, mixed>
$orig_ids_hierarchy
= []
$tree
public
array<string|int, mixed>
$tree
= []
$clause
WHERE clause used for selecting records for the tree. Is set by function init.
protected
string
$clause
= ''
Tags
$defaultList
List of other fields which are ALLOWED to set (here, based on the "pages" table!)
protected
string
$defaultList
= 'uid,pid,tstamp,sorting,deleted,perms_userid,perms_groupid,perms_user,perms_group,perms_everybody,crdate'
Tags
$fieldArray
Default set of fields selected from the tree table.
protected
array<string|int, mixed>
$fieldArray
= ['uid', 'pid', 'title', 'is_siteroot', 'doktype', 'nav_title', 'mount_pid', 'php_tree_stop', 't3ver_state', 'hidden', 'starttime', 'endtime', 'fe_group', 'module', 'extendToSubpages', 'nav_hide', 't3ver_wsid']
Make SURE that these fields names listed herein are actually possible to select from $this->table (if that variable is set to a TCA table name)
Tags
$parentField
Defines the field of $table which is the parent id field (like pid for table pages).
protected
string
$parentField
= 'pid'
$table
Database table to get the tree data from.
protected
string
$table
= 'pages'
Leave blank if data comes from an array.
Methods
__construct()
Constructor
public
__construct() : mixed
addField()
Adds a fieldname to the internal array ->fieldArray
public
addField(string $field[, bool $noCheck = false ]) : mixed
Parameters
- $field : string
-
Field name to
- $noCheck : bool = false
-
If set, the fieldname will be set no matter what. Otherwise the field name must either be found as key in $GLOBALS['TCA'][$table]['columns'] or in the list ->defaultList
expandNext()
Returns TRUE/FALSE if the next level for $id should be expanded - based on data in $this->stored[][] and ->expandAll flag.
public
expandNext(int $id) : bool
Used in subclasses
Parameters
- $id : int
-
Record id/key
Tags
Return values
boolgetTree()
Fetches the data for the tree
public
getTree(int $uid[, int $depth = 999 ][, string $depthData = '' ]) : int
Parameters
- $uid : int
-
item id for which to select subitems (parent id)
- $depth : int = 999
-
Max depth (recursivity limit)
- $depthData : string = ''
-
HTML-code prefix for recursive calls.
Return values
int —The count of items on the level
init()
Initialize the tree class. Needs to be overwritten
public
init([string $clause = '' ][, string $orderByFields = '' ]) : mixed
Parameters
- $clause : string = ''
-
Record WHERE clause
- $orderByFields : string = ''
-
Record ORDER BY field
reset()
Resets the tree, recs, ids, ids_hierarchy and orig_ids_hierarchy internal variables. Use it if you need it.
public
reset() : mixed
getBackendUser()
protected
getBackendUser() : BackendUserAuthentication
Return values
BackendUserAuthenticationgetCount()
Returns the number of records having the parent id, $uid
protected
getCount(int $uid) : int
Parameters
- $uid : int
-
Id to count subitems for
Return values
intgetDataInit()
Getting the tree data: Selecting/Initializing data pointer to items for a certain parent id.
protected
getDataInit(int $parentId) : mixed
For tables: This will make a database query to select all children to "parent" For arrays: This will return key to the ->dataLookup array
Parameters
- $parentId : int
-
parent item id
Return values
mixed —Data handle (Tables: An sql-resource, arrays: A parentId integer. -1 is returned if there were NO subLevel.)
getDataNext()
Getting the tree data: next entry
protected
getDataNext(mixed &$res) : array<string|int, mixed>|bool
Parameters
- $res : mixed
-
Data handle
Tags
Return values
array<string|int, mixed>|bool —item data array OR FALSE if end of elements.
getIcon()
Get the icon markup for the row
protected
getIcon(array<string|int, mixed> $row) : string
Parameters
- $row : array<string|int, mixed>
-
The row to get the icon for
Return values
string —The icon markup, wrapped into a span tag, with the records title as title attribute
getLanguageService()
protected
getLanguageService() : LanguageService
Return values
LanguageServicegetTitleAttrib()
Returns the value for the image "title" attribute
protected
getTitleAttrib(array<string|int, mixed> $row) : string
Parameters
- $row : array<string|int, mixed>
-
The input row array (where the key "title" is used for the title)
Return values
string —The attribute value (is htmlspecialchared() already)
getTitleStr()
Returns the title for the input record. If blank, a "no title" label (localized) will be returned.
protected
getTitleStr(array<string|int, mixed> $row[, int $titleLen = 30 ]) : string
Do NOT htmlspecialchar the string from this function - has already been done.
Parameters
- $row : array<string|int, mixed>
-
The input row array (where the key "title" is used for the title)
- $titleLen : int = 30
-
Title length (30)
Return values
string —The title.
PM_ATagWrap()
Wrap the plus/minus icon in a link
protected
PM_ATagWrap([string $bMark = '' ][, bool $isOpen = false ]) : string
Parameters
- $bMark : string = ''
-
If set, the link will have an anchor point (=$bMark) and a name attribute (=$bMark)
- $isOpen : bool = false
Return values
string —Link-wrapped input string
PMicon()
Generate the plus/minus icon for the browsable tree.
protected
PMicon(array<string|int, mixed> $row, int $a, int $c, int $nextCount, bool $isOpen) : string
Parameters
- $row : array<string|int, mixed>
-
Record for the entry
- $a : int
-
The current entry number
- $c : int
-
The total number of entries. If equal to $a, a "bottom" element is returned.
- $nextCount : int
-
The number of sub-elements to the current element.
- $isOpen : bool
-
The element was expanded to render subelements if this flag is set.
Tags
Return values
string —Image tag with the plus/minus icon.