Классы сущностей

Непосредственное использование классов первого уровня имеет смысл, если необходима повышенная производительность или повышенная гибкость функционала. Данный раздел предназначен для опытных разработчиков.

Класс UserAccess

Данный класс содержит вспомогательные методы для определения прав доступа, а также привязок к сайтам и языкам. Располагается в lib/useraccess.php

Метод Описание
GetAllModuleRights Метод возвращает массив возможных прав (D/R/W/X) и показатели их значимости.
GetAllModuleRightsLang Метод возвращает массив языковых подписей для прав (D/R/W/X).
GetAllGroups Метод возвращает массив всех групп пользователей. Если параметр $only_active=true, то возвращаются только активные группы.
GetUserGroups Метод возвращает массив идов групп, к которым принадлежит данный пользователь. Если параметр $for_user_id=0, то вычисляются группы текущего пользователя.
GetAllSitesIds Метод возвращает массив всех сайтов в виде их кодов.
GetAllLangs Метод возвращает массив всех языков в виде их кодов.

Класс PropertyType

Данный класс содержит методы, возвращающие информацию по типам свойств. Располагается в lib/property_type.php

Метод Описание
fieldTypes Метод возвращает массив типов свойств с языковыми подписями.
getFieldType Метод возвращает объект типа свойства в зависимости от переданных параметров.
getShowEditType Метод в зависимости от переданных параметров возвращает массив для использования в вызове методов (View/Edit/Filter) модуля simai.property – нужный тип универсального свойства и часть его параметров.
propTypeSettings Метод возвращает список кодов дополнительных параметров для поля SETTINGS свойств хранилища в зависимости от параметра $type.
propAllSettings Метод возвращает массив с информацией по всем возможным дополнительным параметрам для поля SETTINGS свойств хранилища (не включая некоторые специальные параметры, например зависимость показа свойств друг от друга).
getURLVars Метод возвращает массив переменых шаблона URL нужно типа (storage/section/item), которые будут доступны для выбора при задании шаблонов путей в настройках хранилища.
GetStoragesList Метод возвращает список идов всех хранилищ, либо если параметр $full_info=true – массивв с заголовками хранилищ. Данный метод используется, в частности, при валидации привязок разных объектов к хранилищам (проверка существования).
validateUnique Метод возввращает стандартный объект \Bitrix\Main\Entity\Validator\Unique.
validateLength Метод возвращает стандартный валидатор длины строки \Bitrix\Main\Entity\Validator\Length с заданной в параметров макс. длиной строки $length.
validateRegExp Метод возвращает стандартный валидатор \Bitrix\Main\Entity\Validator\RegExp по переданному в параметрах выражению $RegExp.

Класс torageTable

Данный класс предназначен для непосредственной работы с сущностью хранилищ. Располагается в lib/entities.php

Метод Описание
validateSites Метод-валидатор для поля сущности, проверяет наличие привязки к сайтам.
validateStorageId Метод-валидатор для поля сущности, проверяет правильность формата кода хранилища.
validateStorageIdExists Метод-валидатор для поля сущности, проверяет, существует ли хранилище с заданным кодом.
validateStorageIdExistsUniq Аналогичен предыдущему методу с дополнительной валидацией уникальности поля.
validateLanguageId Метод-валидатор для поля сущности, проверяет правильность задания кода языка.
validateRightsChar Метод-валидатор для поля сущности, проверяет правильность задания буквенного кода прав.
validateSort Метод-валидатор для поля сущности, проверяет формат для полей сортировки (только цифры).
checkStorageSubTables Метод проверяет, существуют ли уже таблицы хранилища:
- таблица свойств sf_storage_(код хранилища),
- таблица элементов sf_storage_(код хранилища)_element.
Если таблицы не существуют, то создает их.
CheckCorrectSites Метод проверяет, существуют ли сайты с заданными в параметрах кодами, и возвращает только те коды, что прошли проверку.
CheckCorrectAccess Метод проверяет корректность массива прав вида Array("ид группы"=>"уровень доступа D / R / W / X ", ...), элементы массива, для которых не существует нужной группы или кода прав, удаляются из результата.
add Метод добавляет новое хранилище. Уровень прав не проверяется – это задача классов 2 уровня.
update Метод изменяет параметры хранилища. Уровень прав не проверяется – это задача классов 2 уровня.
delete Метод удаляет хранилище. Уровень прав не проверяется – это задача классов 2 уровня.
getList Метод возвращает список хранилищ. Уровень прав не проверяется – это задача классов 2 уровня.
getById Метод возвращает информацию по хранилищу с кодом $storage_id.
addDataTablePropColumn Метод добавляет для нового свойства колонку в таблицах свойств – для хранения значений и языковые колонки в таблице элементов для сортировок по свойствам.
updateDataTablePropColumn Метод обновляет для свойства колонку в таблицах свойств – для хранения значений и языковые колонки в таблице элементов для сортировок по свойствам.
compileDataEntity Метод создает сущность, опирающуюся на таблицу свойств хранилища с именем sf_storage_(код хранилища)
Такая сущность находится не в пространстве имен SIMAI, а в корневом уровне.
Для нужд метода \SIMAI\Storage\Element::getList с помощью этого метода могут создаваться дополнительные сущности с ограниченным набором полей свойств.
Для этого предназначены параметры $propFields (ограниченный набор кодов свойств) и $name_ext (модификатор имени сущности, чтобы она могла существовать параллельно основной и другим доп. сущностям, опирающимся на таблицу свойств).
Параметр $rebuild отвечает за пересоздание сущности. По умолчанию сущность пересоздается при каждом вызове метода, но в некоторых случаях пересоздание не требуется.
compileElementsEntity Метод создает сущность, опирающуюся на таблицу элементов хранилища с именем sf_storage_(код хранилища)_element

Такая сущность находится не в пространстве имен SIMAI, а в корневом уровне.
Параметры $check_search_columns и $check_prop_columns нужны, чтобы создать для сущности поисковые поля и поля для языковой сортировки по значениям свойств. Эти параметры по умолчанию заданы как true.
Поскольку для создания поисковых полей и полей сортировки необходимы соотвествующие колонки таблицы, то метод проверяет существование таких колонок и при необходимости создает их.
Аналогично происходит проверка существования колонок доступа для групп (только для тех хранилищ, где ELEMENT_ACCESS='Y').
Параметр $rebuild отвечает за пересоздание сущности. По умолчанию сущность пересоздается при каждом вызове метода, но в некоторых случаях пересоздание не требуется.

sections_tree_resort Метод служит для пересортировки разделов хранилища с учетом их вложенности. Является основой для \SIMAI\Storage\Element::tree_resort
items_clear_resort Метод нужен для очищения у элементов-записей хранилища полей, специфичных для элементов-разделов

Класс PropertyTable

Данный класс предназначен для непосредственной работы с сущностью свойств. Располагается в lib/entities.php

Метод Описание
validatePropCode Метод-валидатор для поля сущности, проверяет правильность формата кода свойства.
validatePropType Метод-валидатор для поля сущности, проверяет существование типа свойства, обращаясь к классу \SIMAI\Storage\PropertyType.
checkSettings Метод проверяет массив дополнительных параметров для поля SETTINGS свойства и убирает из него параметры, не соотвествующие данному типу свойств, обращаясь к классу \SIMAI\Storage\PropertyType.
add Метод добавляет новое свойство.
update Метод изменяет параметры свойства.
delete Метод удаляет свойство.

Класс PropertyLanTable

Данный класс предназначен для непосредственной работы с сущностью языковых версий свойств. Располагается в lib/entities.php

Метод Описание
checkPropLangs Метод для проверки, существует ли для данного хранилища совпадающие заголовки свойств для языков. Нужен для предотвращения дублирования заголовков у разных свойств.
add Метод добавляет новую языковую версию свойства.
update Метод изменяет параметры языковой версии свойства.
delete Метод удаляет языковую версию свойства.

Класс SetTable

Данный класс предназначен для непосредственной работы с сущностью наборов. Располагается в lib/entities.php

Метод Описание
validateSetId Метод-валидатор для поля сущности, проверяет правильность формата кода набора.
CheckCorrectStorages Метод для проверки массива кодов хранилища, передаваемого для поля SET, если набор относится к хранилищам.
CheckCorrectElements Метод для проверки массива идов элементов хранилища, передаваемого для поля SET, если набор относится к элементам.
add Метод добавляет новый набор.
update Метод изменяет параметры набора.
delete Метод удаляет свойство.

Класс SetTable

Данный класс предназначен для непосредственной работы с сущностью языковых версий наборов. Располагается в lib/entities.php

Метод Описание
checkPropLangs Метод для проверки, существует ли совпадающие заголовки наборов для языков. Нужен для предотвращения дублирования заголовков у разных наборов.
add Метод добавляет новую языковую версию для набора .
update Метод изменяет параметры языковой версии набора с ключом $primary.
delete Метод удаляет языковую версию набора.

Изменить статью