Класс для работы с древовидными списками. (с полной загрузкой списка в массив)
Открытые члены | |
| 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 |