Классы сущностей
Непосредственное использование классов первого уровня имеет смысл, если необходима повышенная производительность или повышенная гибкость функционала. Данный раздел предназначен для опытных разработчиков.
Класс 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. |
Класс StorageTable
Данный класс предназначен для непосредственной работы с сущностью хранилищ. Располагается в 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 |
Метод удаляет языковую версию набора. |