Класс для работы с древовидными списками. (с полной загрузкой списка в массив)
Открытые члены | |
setDeleteChild ($bool) | |
isDeleteChild () | |
setParentField ($field) | |
getParentField () | |
getPathToFirst ($id, $cache=true) | |
getParentIds ($ids, $cache=true) | |
getByAlias ($alias, $parent=null) | |
getTreeList ($parent_id=0, array $first_elements=[]) | |
getSelectList ($parent_id=0, array $first=[]) | |
del (array $ids) | |
queryParents ($id) | |
queryGetChilds ($parent_id, $order=null) | |
moveElement ($from, $to, $flag, OrmRequest $extra_expr=null, $new_parent_id=null) | |
multiEditCheck ($element, $post, $ids) | |
addFilterControl (FilterControl $filter_control) | |
isEnableTreePreload () | |
setEnableTreePreload ($enable_tree_preload) | |
Открытые члены унаследованные от EntityList | |
__construct (AbstractObject $orm_element, array $options=[]) | |
setDefaultOrder ($order) | |
getNameField () | |
setNameField ($field) | |
setAliasField ($field) | |
setSortField ($field) | |
setIdField ($field) | |
getIdField () | |
getSiteIdField () | |
setLoadOnDelete ($bool) | |
setSiteContext ($site_id=null) | |
getSiteContext () | |
setMultisite ($bool) | |
isMultisite () | |
resetQueryObject () | |
getCleanQueryObject () | |
queryObj () | |
setQueryObj (\RS\Orm\Request $q) | |
defAlias () | |
setFilter ($key, $value=null, $type= '=', $prefix= 'AND', array $options=[]) | |
clearFilter () | |
getList ($page=null, $page_size=null, $order=null) | |
getListAsArray ($page=0, $page_size=0, $order= '') | |
getListAsResource ($page=0, $page_size=0, $order= '') | |
getPagedList ($page_size) | |
loadAssocList ($key_field, $value=null) | |
getAssocList ($key_field, $value=null) | |
setOrder ($order=null, array $values=null) | |
setGroup ($group=null) | |
getListCount () | |
getFirst () | |
getOneItem ($id) | |
getById ($id, $request=null) | |
getElement () | |
setElement ($object) | |
getElementClass () | |
getNewElement () | |
save ($id=null, array $user_post=[]) | |
addFilterControl (\RS\Html\Filter\Control $filter_control) | |
addTableControl (\RS\Html\Table\Control $table_control) | |
del (array $ids) | |
multiDelete ($ids) | |
getSelectList ($first=[]) | |
multieditFormView ($tpl_path, $formfile, array $addparam=[]) | |
multiUpdate (array $data, $ids=[]) | |
moveElement ($from, $to, $flag,\RS\Orm\Request $extra_expr=null) | |
noWriteRights ($right=DefaultModuleRights::RIGHT_UPDATE) | |
getIdByAlias ($alias_or_id, $alias_field=null) | |
saveRequest ($key) | |
getIdsByRequest (\RS\Orm\Request $request) | |
__set ($name, $value) | |
__get ($name) | |
__isset ($name) | |
__unset ($name) | |
Открытые члены унаследованные от BaseModel | |
addError ($message, $fieldname=null, $form=null) | |
hasError () | |
getErrors () | |
cleanErrors () | |
getDisplayErrors () | |
getErrorsStr () | |
getFormErrors ($form, $separator= ', ') | |
getNonFormErrors ($separator= ', ') | |
exportErrors () | |
importErrors ($data) | |
Открытые статические члены | |
static | staticTreeList ($parent_id=0, $first_elements=[]) |
static | staticSelectList ($parent_id=0, $first=[]) |
static | FindSubFolder (array $list) |
static | getChildsId ($ids) |
Открытые статические члены унаследованные от EntityList | |
static | getInstance ($key= 'default') |
static | staticSelectList ($first=[]) |
static | getSavedRequest ($key, $default=null) |
Защищенные члены | |
getAllParentIdsArray ($cache=true) | |
getFakeNodesFromStringArray ($items) | |
recursiveConvertTreeToSelectList (array $tree, $parent_id, $level=0) | |
Защищенные члены унаследованные от EntityList | |
parseArrayFilter ($filters) | |
filterLike ($key, $value, $type, $prefix, $options) | |
filterIs ($key, $value, $type, $prefix, $options) | |
filterFullText ($key, $value, $type, $prefix, $options) | |
filterIn ($key, $value, $type, $prefix, $options) | |
filterNotin ($key, $value, $type, $prefix, $options) | |
filterDefault ($key, $value, $type, $prefix, $options) | |
setPage ($page, $pageSize) | |
moveArrayUp ($arr) | |
moveArrayDown ($arr) | |
Защищенные статические члены | |
static | recursiveGetChildIdsFromTree (array $tree, $id) |
Защищенные данные | |
$parent_field | |
$enable_tree_preload = true | |
$delete_child = true | |
Защищенные данные унаследованные от EntityList | |
$default_order | |
$load_on_delete = false | |
$id_field = 'id' | |
$alias_field | |
$sort_field | |
$name_field | |
$site_id_field = 'site_id' | |
$is_multisite = false | |
$site_context | |
$def_table_alias = 'A' | |
$obj | |
$obj_instance | |
$filter_active = false | |
$multiedit_template = '%system%/coreobject/multiedit_form.tpl' | |
$assocPlainList = [] | |
$parsePrefixes = ['&' => 'AND' | |
$cache_alias = [] | |
$options = [] | |
$q | |
Защищенные данные унаследованные от BaseModel | |
$default_error_fieldname = 'Информация' | |
Дополнительные унаследованные члены | |
Поля данных унаследованные от EntityList | |
const | WHERE_CONDITION_VAR = 'where_conditions' |
Поля данных унаследованные от BaseModel | |
$form_fieldname = [] | |
$errors_by_form = [] | |
$errors_non_form = [] | |
$errors = [] | |
Статические защищенные данные унаследованные от EntityList | |
static | $instance = [] |
addFilterControl | ( | FilterControl | $filter_control | ) |
Устанавливает фильтры, от компонента
FilterControl | $filter_control | - объект фильтра |
del | ( | array | $ids | ) |
Удаляет список объектов по id, включая дочерние элементы
array | $ids | - массив ID объектов |
|
static |
string[]|int[] | $list - список ID элементов, для которых необходимо найти дочерние ID |
|
protected |
Возвращает массив [ID => ID родителя] для всех элементов
bool | $cache | Если true, то будет использован кэш |
getByAlias | ( | $alias, | |
$parent = null |
|||
) |
Возвращает элемент по Псевдониму
string | $alias | - псевдоним |
int | string | $parent | - ID родителя, если уникальность псевдонима в рамках родительского элемента |
|
static |
Дополняет список идентификаторами всех дочерних элементов
int|string|int[]|string[] | $ids - список ID элементов, для которых необходимо найти дочерние ID |
|
protected |
Возвращает список фейковых узлов на основе списка названий
string[] | $items - список названий |
getParentField | ( | ) |
Возвращает поле, в котором хранится ссылка на ID родителя записи
getParentIds | ( | $ids, | |
$cache = true |
|||
) |
Дополняет список идентификаторами родительских элементов
int|string|int[]|string[] | $ids Список ID элементов | |
bool | $cache | Если true, то будет использован локальный статический кэш |
getPathToFirst | ( | $id, | |
$cache = true |
|||
) |
Возвращает список элементов, составляющих путь к элементу от корня
int | string | $id | - id текущего элемента |
bool | $cache | Если true, то будет использован локальный статический кэш |
getSelectList | ( | $parent_id = 0 , |
|
array | $first = [] |
||
) |
int | $parent_id | - id корневого элемента дерева |
string[] | $first - значения, которые нужно добавить в начало списка |
getTreeList | ( | $parent_id = 0 , |
|
array | $first_elements = [] |
||
) |
Возвращает дерево элементов
int | $parent_id | - id родительского узла |
AbstractTreeListNode[] | $first_elements - узлы, которые нужно добавить в начало списка |
RSException |
isDeleteChild | ( | ) |
Возвращает true, если необходимо удалять рекурсивно дочерние элементы при вызове метода del
isEnableTreePreload | ( | ) |
Возвращает разрешена ли предварительная загрузка дерева элементов
moveElement | ( | $from, | |
$to, | |||
$flag, | |||
OrmRequest | $extra_expr = null , |
||
$new_parent_id = null |
|||
) |
Перемещает элемент from на место элемента to. Если flag = 'up', то до элемента to, иначе после
int | $from | - id элемента, который переносится |
int | $to | - id ближайшего элемента, возле которого должен располагаться элемент |
string | $flag | - up или down - флаг выше или ниже элемента $to должен располагаться элемент $from |
OrmRequest | $extra_expr | - объект с установленными уточняющими условиями, для выборки объектов сортировки |
int | $new_parent_id | - новый ID родительского элемента |
multiEditCheck | ( | $element, | |
$post, | |||
$ids | |||
) |
Проверяет возможно ли множественное изменение с параметрами, переданными в POST
AbstractObject | $element | - orm объект |
array | $post | - данные из POST |
array | $ids | - список id редактируемых объектов |
queryGetChilds | ( | $parent_id, | |
$order = null |
|||
) |
Возвращает список непосредственных детей элемента $id используя запросы к БД
mixed | $parent_id | - ID родителя |
string | $order | - сортировка |
queryParents | ( | $id | ) |
mixed | $id |
|
protected |
array | $tree | - список |
$parent_id | - id корневого элемента дерева | |
int | $level | - технический параметр, уровень вложенности |
|
staticprotected |
Рекурсивно собирает идентификаторы дочерних элементов узла дерева
array | $tree | - массив вида id => array(child_ids) |
string | int | $id | - идентификатор узла |
setDeleteChild | ( | $bool | ) |
Устанавливает, нужно ли удалять рекурсивно дочерние элементы при вызове метода del Нужно устанавливать false, если логика удаления дочерних элементов реализована в ORM объекте
bool | $bool |
setEnableTreePreload | ( | $enable_tree_preload | ) |
Устанавливает разрешение на предварительную загрузку дерева элементов
bool | $enable_tree_preload | - значение |
setParentField | ( | $field | ) |
Устанавливает поле, в котором хранится ссылка на ID родителя записи
string | $field | - поле ORM Объекта |
|
static |
int | $parent_id | = id корневого элемента дерева |
array | $first | = значения, которые нужно добавить в начало списка |
|
static |
Статический вызов метода getTreeList()
int | $parent_id | - id родительского узла |
string[] | $first_elements - значения, которые нужно добавить в начало списка |
RSException |
|
protected |
|
protected |
|
protected |