UMI.CMS API Официальная документация. Umi cms api
UMI.CMS - термины
API UMI.CMS предоставляет ООП-классы для работы с базой данных, с файлами, другими модулями, импортом/экспортом XML.
Все сущности, с которыми мы взаимодействуем в UMI.CMS, представляют собой объекты. Несколько особняком стоят страницы в дереве сайта. Они, как двуликий Янус, являют собой и объекты, и элементы иерархии. Все объекты создаются по предопределенным шаблонам - типам данных.
Тип данных
Это шаблон, по которому создаются все объекты в UMI.CMS. Тип данных описывает, какие свойства будут доступны у объекта, созданного по этому типу данных. Типы данных могут наследоваться, в этом случае дочерний тип данных наследует все поля родительского. Через API непосредственно управляется классами umiObjectTypesCollection и umiObjectType.
Все существующие в данный момент типы данных можно увидеть в дереве иерархии в модуле "Шаблоны данных".
Набор характеристик типа данных описывается сущностями, которые называются "Поле"
Поле
Это сущность, которую использует тип данных для описания набора свойств своих объектов и предназначены для хранения информации об объекте. Сам по себе тип данных и поля, находящиеся в его составе, не содержат значений свойств, которые существуют у объектов, а только описывает их поведение. Управление полями реализовано в модуле "шаблоны данных". В UMI.API управление полями реализовано через классы umiField, umiFieldsGroup и umiFieldsCollection.
Поля наследуются по принципу жесткой ссылки — изменение атрибутов поля у подтипа, повлечет изменение атрибутов поля родительского типа. Однако мы можем удалить поле, или добавить новое поле у подтипа без изменений в родительском типе.
Группа полей — это способ объединять поля по какому-либо принципу. Группы полей наследуются по принципу мягкой ссылки — изменения в группах для подтипов не повлечет изменений в родительском типе.
Объект
Объект - набор данных, созданный по типу данных. Каждый объект неразрывно связан со своим типом данных, который управляет набором свойств этого объекта. Если у объекта нету свойств, то из аттрибутов у него есть только id объекта, название и id пользователя, которые создал этот объект. Все созданные поля в типе данных, которому принадлежит этот объект тут же превращяются в свойства этого объекта. Сам объект никак не привязан к структуре сайта. Объекты в системе являются пользователями, заказами в магазине и т.п.. Реализуется через классы umiObject и umiObjectCollection.
Свойство
Это свойство объекта (соответсвует полю в типе данных), которое содержит некое значение. Значение, которое содержит свойство, определяется полем, которому оно принадлежит. Работа со свойствами реализуется через класс umiObjectProperty. Но напрямую с ним работать бессмыслено, потому что свойство всегда привязано к какому-либо объекту. Доступ к свойствам обеспечивают методы getValue()/setValue() классов umiObject и umiHierarchyElement.
Элемент
Это страница в дереве сайта. Любая страница, будь то страница контента, новость, либо объект каталога реализуется через эту сущность. Элемент включает в себя аттрибуты:
- Id элемента
- Псевдостатический адрес
- Id родительского элемента
- Id шаблона дизайна
- Id домена, в котором расположен элемент
- Id языка, к которому принадлежит элемент
- Id типа в иерархии
- Ссылку на объект, который является источником данных этого элемента
Как мы видим, элемент сам по себе содержит только информацию о своем положении в дереве сайта, но при этом ссылается на объект. Это позволяет работать со страницами сайта как с обычными объектами, обращаться к объекту напрямую, делать виртуальные копии страниц и самое главное - управлять набором полей любой страницы на сайте через модуль шаблонов данных.
Тип в иерархии
Тип в иерархии описывает назначение какой-либо страницы в дереве сайта. При открытии какой-либо страницы на сайте, система определит текущую страницу и в зависимости от типа этой страницы в иерархии вызовет необходимый метод-обработчик нужного нам класса.
umi-cms.spb.su
UMI.CMS | umiObject
Калька с текущей документации с официального сайта, разбитая для удобства пользования не классы. Соответственно, все тамошние ошибки повторяются и здесь. Для сравнения смотрите раздел "Примеры работы с классами umi.api"
Общий класс для взаимодействия с объектами системы.
Получить название объекта
Возвращает String название объекта
Получить id типа объекта
Возвращает Integer id типа объекта (для класса umiObjectType)
Узнать, заблокирован ли объект. Метод зарезервирован, но не используется. Предполагается, что этот флаг будет блокировать любое изменение объекта
Возвращает Boolean true если обект заблокирован
Задать новое название объекта. Устанавливает флаг "Модифицирован".
Установить новый id типа данных (класс umiObjectType) для объекта. Используйте этот метод осторожно, потому что он просто переключает id типа данных. Уже заполненные значения остануться в БД, но станут недоступны через API, если не переключить тип данных для объекта назад. Устанавливает флаг "Модифицирован".
Возвращает Boolean true всегда
Выставить объекту статус "Заблокирован". Этот метод зарезервирован, но в настоящее время не используется.
setOwnerId(Integer $ownerId)
Установить id владельца объекта. Это означает, что пользователь с id $ownerId полностью владеет этим объектом:создал его, может модифицировать, либо удалить.
Integer $ownerId id нового владельца. Обязательно действительный id объекта (каждый пользователь это объект в umi)
Возвращает Boolean true в случае успеха, false если $ownerId не является нормальным id для umiObject
Получить id пользователя, который владеет этим объектом
Возвращает Integer id пользователя. Всегда действительный id для umiObject или NULL если не задан.
getPropByName(String $prop_name)
Получить свойство объекта по его строковому идентификатору
String $prop_name строковой идентификатор свойства
Возвращает umiObjectProperty или NULL в случае неудачи
getPropById(Integer $field_id)
Получить свойство объекта по его числовому идентификатору (просто id)
Integer $field_id id поля
Возвращает umiObjectProperty или NULL в случае неудачи
isPropertyExists(Integer $field_id)
Узнать, существует ли свойство с id $field_id
Integer $field_id id поля
Возвращает Boolean true, если поле существует
isPropGroupExists(Integer $prop_group_id)
Узнать, существует ли группа полей с id $prop_group_id у объекта
Integer $prop_group_id id группы полей
Возвращает Boolean true, если группа существует
getPropGroupId(String $prop_group_name)
Получить id группы полей по ее строковому идентификатору
String $prop_group_name Строковой идентификатор группы полей
Возвращает Integer id группы полей, либо false, если такой группы не существует
getPropGroupByName(String $prop_group_name)
Получить группу полей по ее строковому идентификатору
String $prop_group_name Строковой идентификатор группы полей
Возвращает umiFieldsGroup, либо false, если такой группы не существует
getPropGroupById(Integer $prop_group_id)
Получить группу полей по ее id
Integer $prop_group_id id группы полей
Возвращает umiFieldsGroup, либо false, если такой группы не существует
getValue(String $prop_name)
Получить значение свойства $prop_name объекта
String $prop_name строковой идентификатор поля
Возвращает Mixed значение поле. Тип значения зависит от типа поля. Вернет false, если свойства не существует.
setValue(String $prop_name, Mixed $prop_value)
Установить значение свойства с $prop_name данными из $prop_value. Устанавливает флаг "Модифицирован". Значение в БД изменится только когда на объекте будет вызван метод commit(), либо в деструкторе объекта
String $prop_name строковой идентификатор поля
Mixed $prop_value новое значение для поля. Зависит от типа поля
Возвращает Boolean true, если прошло успешно
Вручную установить флаг "Модифицирован"
umi-cms.spb.su
Описание формата
type="int" — число
<property name="number" type="int"> <title>Номер заказа</title> <value>1</value> </property>type="float" — число с точкой
<property name="total_original_price" type="float"> <title>Стоимость заказа без скидки</title> <value>11000</value> </property>type="price" — цена
<property name="novoe_pole_6" type="price" currency-code="RUR"> <title>Новое поле_6</title> <value xlink:href="udata://emarket/price/14">2300</value> </property>@currency-code — если валюта по умолчанию для интернет магазина не совпадает с указанной, то при импорте произойдет пересчет значения из <value> в валюту по умолчанию.
type="date" — дата
<property name="payment_date" type="date"> <title>Дата оплаты</title> <value unix-timestamp="1268921940">Thu, 18 Mar 2010 17:19:00 +0300</value> </property>Если атрибут unix-timestamp не указан, будет создан при импорте из значения в <value>.
type="string" — строка
<property name="payment_document_num" type="string"> <title>Номер платежного документа</title> <value>ТД000000006</value> </property>type="text" — простой текст
<property name="novoe_pole_1" type="text"> <title>просто текст</title> <value>это поле просто текст</value> </property>type="wysiwyg" — HTML-текст
<property name="novoe_pole_2" type="wysiwyg"> <title>хтмл-текст</title> <value><p>это поле html-текст</p></value> </property>type="tags" — теги
<property name="novoe_pole_3" type="tags"> <title>Новое поле_3</title> <value>тег1</value> <value>тег2</value> <value>тег3</value> <combined>тег1, тег2, тег3</combined> </property>type="relation" — выпадающий список
<property name="delivery_id" type="relation"> <title>Способ доставки</title> <value> <item name="Самовывоз" type-id="781" ownerId="14" link:href="uobject://27255"/> </value> </property>Если нет соответствующей записи в секции relations, то при импорте значение данных полей игнорируется.
type="relation" multiple="multiple" — выпадающий список с множественным выбором
Если нет соответствующей записи в секции relations,то при импорте значение данных полей игнорируется.
type="img_file" — изображение
<property name="novoe_pole_1" type="img_file"> <title>Новое поле 1</title> <value path="./images/cms/data/148820_pic1.jpg" folder="/images/cms/data" name="148820_pic1" ext="jpg"> /images/cms/data/148820_pic1.jpg </value> </property>При импорте важно только значение тега value, остальное будет проигнорировано.
type="swf_file" — флеш-ролик
<property name="novoe_pole_1" type="swf_file"> <title>флеш-ролик</title> <value path="./files/swf_file.swf" folder="/files" name="swf_file" ext="swf"> /files/swf_file.swf </value> </property>type="file" — файл
<property name="novoe_pole_1" type="file"> <title>файл</title> <value path="./files/config_ini.txt" folder="/files" name="config_ini" ext="txt"> /files/config_ini.txt </value> </property>При импорте важно только значение тега value, остальное будет проигнорировано.
type="video" — видеофайл
<field name="video" title="Видео" visible="visible"> <type name="Видео" data-type="video_file"/> </field>type="optioned" — составное
<property name="stores_state" type="optioned"> <title>Состояние на складе</title> <value> <option int="569" float="1"> <object guid="emarket-store-27147" name="Основной склад" type-id="754" ownerId="14"/> </option> </value> </property>type="counter" — счетчик
<property name="schetchik" type="counter"> Счетчик <value>65</value> </property>type="boolean" — кнопка-флажок
<property name="need_export" type="boolean"> <title>Выгружать заказ в 1С при следующем сеансе связи</title> <value>1</value> </property>type="symlink" — ссылка на дерево
<property name="related_items" type="symlink"> Связанные товары <value> <page parentId="18989" link="/razdel/tovar/" is-active="1" object-id="27522" type-id="65464" alt-name="tovar"> <basetype module="catalog" method="object">Объекты каталога</basetype> <name>товар</name> </page> </value> </property>api.docs.umi-cms.ru
UMI.CMS | umiObjectsCollection
Калька с текущей документации с официального сайта, разбитая для удобства пользования не классы. Соответственно, все тамошние ошибки повторяются и здесь. Для сравнения смотрите раздел "Примеры работы с классами umi.api"
Chapter 11. umiObjectsCollection
Этот класс служит для управления/получения доступа к объектам. Класс является синглтоном, экземпляр класса можно получить через статический метод getInstance()
isExists(Integer $object_id)
Проверить, существует ли в БД объект с id $object_id
Integer $object_id id объекта
Возвращает Boolean true, если объект существует в БД
getObject(Integer $object_id)
Получтить экземпляр объекта с id $object_id
Integer $object_id id объекта
Возвращает umiObject экземпляр объекта $object_id, либо false в случае неудачи
delObject(Integer $object_id)
Удалить объект с id $object_id. Если объект заблокирован, он не будет удален. При удалении принудительно вызывается commit() на удаляемом объекте. Нельзя удалить пользователей с id 14, 2373, нельзя удалить группу супервайзеров.
Integer $object_id id объекта
Возвращает Boolean true, если удаление удалось
addObject(String $name, Integer $type_id, Boolean $is_locked = false)
Создать новый объект в БД
String $name название объекта.
Integer $type_id id типа данных (класс umiObjectType), которому будет принадлежать объект.
Boolean $is_locked=false Состояние блокировки по умолчанию. Рекомендуем этот параметр не указывать.
Возвращает Integer id созданного объекта, либо false в случае неудачи
cloneObject(id $iObjectId)
Сделать копию объекта и всех его свойств
id $iObjectId копируемого объекта
Возвращает Integer id объекта-копии
getGuidedItems(id $guide_id)
Получить отсортированный по имени список всех объектов в справочнике $guide_id (id типа данных). Равнозначно тому, если бы мы хотели получить этот список для всех объектов определенного типа данных
id $guide_id справочника (id типа данных)
Возвращает Array массив, где ключи - это id объектов, а значения - названия объектов
unloadObject(Integer $object_id)
Выгрузить объект из коллекции
Integer $object_id id объекта
Получить id всех объектов, загруженных в коллекцию
Возвращает Array массив, состоящий из id объектов
addUpdatedObjectId(Integer $object_id)
Указать, что $object_id был изменен во время сессии. Используется внутри ядра. Явный вызов этого метода клиентским кодом не нужен.
Integer $object_id id объекта
Получить список измененных объектов за текущую сессию
Возвращает Array массив, состоящий из id измененных значений
Деструктор коллекции. Явный вызов этого метода клиентским кодом не нужен.
Возвращает umiObjectsCollection экземпляр класса
umi-cms.spb.su
Стандартные точки вызова
Системные globalVariablesCollected Вызывается при подготовке глобальных переменных режим: after параметры-ссылки: (Array) &variables - массив глобальных переменных systemModifyElement Вызывается при сохранении изменений страницы в админке режимы: before, after параметры: (int) user_id - id пользователя параметры-ссылки: (umiHierarchyElement) &element - редактируемая страница (array) &inputData - содержит параметры измененной страницы systemCreateElement Вызывается при сохранении созданной страницы в админке режимы: before, after параметры-ссылки: (array) &inputData - содержит параметры измененной страницы (доступно в before) (umiHierarchyElement) &element - редактируемая страница (доступно в after) systemSwitchElementActivity Вызывается при изменении активности страницы в админке и EiP(при включении fake_delete) режимы: before, after параметры: (bool) activity - новый статус активности(в EiP'e нет) параметры-ссылки: (umiHierarchyElement) &element - изменяемая страница systemMoveElement Вызывается при перемещении страницы по иерархии в админке и EiP режимы: before, after(в EiP) параметры: (int) parent-id - id родительской страницы (int) domain-host - id домена (bool) as-sibling - флаг уровня (при перемещении на тот же уровень - 0 на другой - 1) (int) before-id - id элемента, после которого встаёт перемещенный параметры EiP: (int) parentElementId - id родительской страницы (int) elementId - id перемещаемой страницы (int) beforeElementId - id элемента, после которого встаёт перемещенный параметры-ссылки: (umiHierarchyElement) &element - перемещаемая страница(в EiP'e нет) systemDeleteElement Вызывается при удалении страницы в админке и EiP режимы: before, after параметры-ссылки: (umiHierarchyElement) &element - удаляемая страница systemCloneElement Вызывается при создании копии страницы в админке режимы: before, after параметры: (int) parentId - id родительской страницы (int) elementId - id копируемой страницы (int) newElementId - id полученной копии страницы (доступно в after) параметры-ссылки: (umiHierarchyElement) &element - копируемая страница systemVirtualCopyElement Вызывается при создании виртуальной копии страницы в админке режимы: before, after параметры: (int) parentId - id родительской страницы (int) elementId - id копируемой страницы (int) newElementId - id полученной копии страницы (доступно в after) параметры-ссылки: (umiHierarchyElement) &element - копируемая страница systemCreateObject Вызывается при сохранении созданного объекта в админке режимы: before, after параметры-ссылки: (umiObject) &object - созданный объект (доступно в after) systemModifyObject Вызывается при сохранении изменений объекта в админке режим: before, after параметры-ссылки: (umiObject) &object - изменённый объект systemDeleteObject Вызывается при удалении объекта в админке режимы: before, after параметры-ссылки: (umiObject) &object - удаленный объект systemChangeObjectActivity Вызывается при изменении активности объекта в админке режимы: before, after параметры: (bool) activity - новый статус активности параметры-ссылки: (umiObject) &object - изменяемый объект systemCreateElementAfter Вызывается после создания элемента в админке режим: after параметры: (int) elementId - id страницы (int) parentId - id родительской страницы параметры-ссылки: (umiHierarchyElement) &element - созданная страница content_del_element Вызывается при удалении элемента из структуры режимы: before, after параметры: (int) element_id - id удаляемой страницы systemModifyPropertyValue Вызывается при изменении свойства элемента при быстром редактировании в админке режимы: before, after параметры: (string) property - имя изменяемого свойства (mixed) oldValue - текущее значение свойства (доступно в after) (mixed) newValue - новое значение свойства (доступно в after) параметры-ссылки: (mixed) &entity - объект или страница, свойство которого(ой) изменяется (mixed) &newValue - новое значение свойства systemKillElement Вызывается перед удалением страницы из бд. режим: before параметры: (int) user_id - под каким пользователем происходит удаление параметры-ссылки: (umiHierarchyElement) element - удаляемая страница systemRestoreElement Вызывается до и после восстановления страницы из корзины режим: before, after параметры: (int) user_id - под каким пользователем происходит восстановление параметры-ссылки: (umiHierarchyElement) element - восстанавливаемая страница systemBufferSend Вызывается до отдачи браузеру html страницы режим: before параметры-ссылки: (string) buffer - html код страницы systemPrepare Вызывается до разбора запрошенных данных и шаблонизации. режим: before (до запроса статического кэша), after (после запроса статического кэша) releaseFilterIndex Вызывается при завершение индексации фильтров режим: after параметры: (string) entity_type - тип индексируемой сущности (pages/objects) (int) hierarchy_type_id - идентификатор иерархического типа данных индексируемых сушностей (string) table_name - имя таблицы, куда помещен индекс (int|null) parent_id - идентификатор раздела каталога, дочерние страницы которого индексировались (int) level - уровень вложенности проиндексированных страниц Внутренние core_sendmail Вызывается при отправке письма из системы режим: after параметры: (string) to - e-mail получателя (string) subject - тема письма (string) body - тело письма (string) headers - доп.заголовки cron Вызывается при обработке события Cron'ом режим: process параметры: (int) lastCallTime - время прошлого вызова (int) currCallTime - время вызова параметры-ссылки: (array) &buffer - возвращает вызванную пару класс-метод с результатом работы (int) &counter - счётчик вызовов. Инкрементируется в handler'e umiObjectProperty_loadPriceValue Вызывается при загрузке данных во время обработки поля типа "Цена" (событие не вызывается при изменении количества товара в корзине) режим: process параметры: (int) object_id - id объекта, цена которого изменяется параметры-ссылки: (float) &price - ссылка на переменную, содержащую значение свойства "Цена". successfulPasswordRestoring Вызывается при успешном сбросе пароля пользователя режим: after параметры: (int) userId - id пользователя users_prelogin_successfull Вызывается в процессе преавторизации режим: process параметры: (int) prelogin_mode - идентификатор режима преавторизации (int) user_id - id пользователя exchangeOnAddElement Вызывается при добавлении страницы механизмом импорта режимы: before, after параметры: (int) source_id - идентификатор источника данных импорта (DOMElement) element_info - содержит информацию о добавляемом элементе(странице) (int) parent_id - id родительского элемента(before) (int) old_element_id - прежний id(before) (umiObjectType) type - описание типа данных добавляемого элемента (before) параметры-ссылки: (umiHierarchyElement) &element - добавленная страница (after) exchangeOnUpdateElement Вызывается при обновлении страницы механизмом импорта режимы: before, after параметры: (int) source_id - идентификатор источника данных импорта (DOMElement) element_info - содержит информацию о добавляемом элементе(странице) параметры-ссылки: (umiHierarchyElement) &element - обновляемая страница exchangeOnAddObject Вызывается при добавлении объекта механизмом импорта режим: before, after параметры: (int) source_id - идентификатор источника данных импорта (DOMElement) object_info - содержит информацию о добавляемом элементе(объекте) (int) old_object_id - прежний id (before) (umiObjectType) type - описание типа данных добавляемого элемента (before) параметры-ссылки: (umiObject) &object - добавленный объект (after) exchangeOnUpdateObject Вызывается при обновлении объекта механизмом импорта режимы: before, after параметры: (int) source_id - идентификатор источника данных импорта (DOMElement) object_info - содержит информацию о добавляемом элементе(объекте) параметры-ссылки: (umiObject) &object - обновляемый объект yml_export_categories Вызывается до сохранения списка категорий для экспорта в формате yml режимы: before параметры: (int) id - идентификатор сценария экспорта параметры-ссылки: (array) &categories - массив категорий [id категории => имя категории] Точки модулей blogs20PostAdded Вызывается при добавлении публикации в блог режим: after параметры: (int) id - id добавленной публикации (string) template - имя файла шаблона blogs20CommentAdded Вызывается при добавлении комментария к публикации в блоге режим: after параметры: (int) id - id добавленного комментария (string) template - имя файла шаблона comments_message_post_do Вызывается при добавлении комментария режим: after параметры: (int) topic_id - id родительской страницы(к которой добавлен комментарий) (int) message_id - id комментария eipSave Вызывается при сохранении поля, измененного в EiP режим: after параметры: (string) field_name - имя поля, изменения в котором сохраняются (mixed) obj - редактируемый объект либо страница, поле которого сохраняется eipPrepareTypesList Вызывается при подготовке списка типов, для создания страницы через EiP режим: after параметры: (string) targetModule - имя модуля (iUmiHierarchyElement) parent - родительский элемент параметры-ссылки: (array) &types - ссылка на переменную, содержащую список eipQuickAdd Вызывается при быстром добавлении элемента через EiP режим: after параметры: (int) objectTypeId - id типа добавленного элемента (int) elementId - id добавленного элемента eipFrontendPanelGet Вызывается при при построении панели-EiP режим: after параметры: (int) id - id последнего отредактированного документа(верхний элемент в списке "Последние документы") параметры-ссылки: (array) &result - ссылка на переменную, содержащую массив с результатом faq_post_question Вызывается при добавлении вопроса режимы: before, after параметры: (int) parent_element_id - id конференции, к которой добавлен вопрос (before) (bool) test_captcha - результат проверки CAPTCHA (before) (int) element_id - id добавленного вопроса (after) order-status-changed Вызывается при изменении текущего статуса заказа режимы: before, after параметры: (int) old-status-id - прежний id объекта-статуса заказа (int) new-status-id - новый id объекта-статуса заказа параметры-ссылки: (class) &order - экземпляр класса order order-payment-status-changed Вызывается при изменении текущего статуса оплаты заказа режимы: before, after параметры: (int) old-status-id - прежний id объекта-статуса заказа (int) new-status-id - новый id объекта-статуса заказа параметры-ссылки: (class) &order - экземпляр класса order order-delivery-status-changed Вызывается при изменении текущего статуса доставки заказа режимы: before, after параметры: (int) old-status-id - прежний id объекта-статуса заказа (int) new-status-id - новый id объекта-статуса заказа параметры-ссылки: (class) &order - экземпляр класса order order_refresh Вызывается при пересчете содержимого корзины режимы: before, after параметры: (array) items - список наименований в заказе (before) (float) originalPrice - стоимость всего наименования с учетом скидок (after) (int) totalAmount - количество товара, которое добавлено к заказу(after) параметры-ссылки: (umiObject) &order - объект заказа (before) (float) &actualPrice - стоимость всего наименования с учетом скидок,доставки и прочих факторов (after) orderItem_refresh Вызывается при обновлении свойств наименования режимы: before, after параметры: (float) totalOriginalPrice - стоимость всего наименования (цена товара * кол-во)(after) параметры-ссылки: (umiObject) &orderItem &order - объект заказа (before) (float)&totalActualPrice стоимость всего наименования с учетом скидок,доставки и прочих факторов (after) sendOrdersByStatusToMobileApp Вызывается при получении заказов с указанным статусом мобильным приложением режимы: before параметры-ссылки: (array) &orders_info - данные о заказах sendOrderByIdToMobileApp Вызывается при получении данных о заказе мобильным приложением режимы: after параметры-ссылки: (array) &order_info - данные о заказе emarket_add_to_compare Вызывается добавлении товара к сравнению режимы: before, after параметры: (int) element_id - id добавляемого товара (array) compare_list - список товаров, ранее добавленных к сравнению exchangeOnExportFinish Вызывается по окончании экспорта через модуль "Обмен данными" режимы: after параметры: (iUmiObject) settings - объект сценария модуля "Обмен данными" (umiExporter) exporter - объект экспортера (int) scenario_id - ID сценария в модуле "Обмен данными" exchangeOnImportFinish Вызывается по окончании импорта через модуль "Обмен данными" режимы: after параметры: (iUmiObject) settings - объект сценария модуля "Обмен данными" (umiImportSplitter) splitter - объект сплиттера (int) scenario_id - ID сценария в модуле "Обмен данными" exchangeOnAutoFinish Вызывается по окончании обмена данными при синхронизации с 1С режимы: after параметры: (umiImportSplitter) splitter - объект сплиттера exchangeImport ссылка на переменную, содержащую экземпляр объекта xmlImporter режимы: before параметры: (xmlImporter) &importer - ссылка на переменную, содержащую экземпляр объекта xmlImporter. forum_topic_post_do Вызывается при добавлении топика режим: process параметры: (int) topic_id - id добавляемого топика forum_message_post_do Вызывается при добавлении сообщения в форум режим: process параметры: (int) topic_id - id топика, к которому добавляется сообщение (int) message_id - id сообщения users_login_successfull Вызывается при успешной авторизации режим: process параметры: (int) user_id - id авторизующегося пользователя users_login_failed Вызывается при неуспешной авторизации режим: process параметры: (string) login - переданный логин (string) password - переданный пароль users_restore_password Вызывается при восстановлении пароля режим: process параметры: (int) user_id - id пользователя, для которого восстанавливается пароль users_settings_do Вызывается при изменении данных пользователя режимы: before, after параметры: (int) user_id - id изменяемого пользователя users_registrate Вызывается при регистрации пользователя режимы: before, after параметры: (string) login - переданный при регистрации логин (before) (int) user_id - id зарегистрированного пользователя(after) параметры-ссылки: (string) &password - ссылка на переменную, содержащую переданный пароль (before) (string) &email - ссылка на переменную, содержащую переданный е-мэйл (before) users_activate Вызывается при активации учётной записи пользователя режим: after параметры: (int) user_id - id зарегистрированного пользователя webforms_post Вызывается при отправке письма post и send режим: after параметры: (int) message_id - id сообщения(send) (string) email - e-mail получателя (string) fio - имя получателя news_import_feed_item Вызывается для обработки полей при импорте новостей из RSS режим: after параметры: (RSSItem) feed_item - импортируемая новость (umiHierarchyElement) news_item - созданная на сайте страница sphinxExecute Вызывается для кастомизации параметров конфигурации Sphinx режим: before параметры: (SphinxClient) sphinx - редактируемая конфигурация Sphinx sphinxCreateView Вызывается перед созданием плоской таблицы Sphinx режим: before параметры: (SphinxIndexGenerator) &contentIndex - ссылка на переменную, содержащую набориндексируемых полей в конфигурации Sphinx с их весовыми коэффициентамиapi.docs.umi-cms.ru
UMI.CMS | umiObjectType
Калька с текущей документации с официального сайта, разбитая для удобства пользования не классы. Соответственно, все тамошние ошибки повторяются и здесь. Для сравнения смотрите раздел "Примеры работы с классами umi.api"
Chapter 12. umiObjectType
Этот класс служит для управления свойствами типа данных
Получить название типа.
Возвращает String название типа
Изменить название типа.
String $name новое название типа данных
Узнать, заблокирован ли тип данных. Если тип данных заблокирован, то его нельзя удалить из системы.
Возвращает Boolean true если тип данных заблокирован
setIsLocked(Boolean $is_locked)
Изменить флаг блокировки у типа данных. Если тип данных заблокирован, его нельзя будет удалить.
Boolean $is_locked флаг блокировки
Получить id родительского типа данных, от которого унаследованы группы полей и поля
Возвращает Integer id родительского типа данных
Узнать, помечен ли тип данных как справочник.
Возвращает Boolean true, если тип данных помечен как справочник
setIsGuidable(Boolean $is_guidable)
Изменить флаг "Справочник" у типа данных.
Boolean $is_guidable новое значение флага "Справочник"
Установить флаг "Общедоступный" для справочника. Не имеет значение, если тип данных не является справочником.
Возвращает Boolean true, если тип данных общедоступен
setIsPublic(Boolean $is_public)
Изменить значение флага "Общедоступен" для типа данных. Не имеет значения, если тип данных не является справочником.
Boolean $is_public новое значение флага "Общедоступен"
Получить id базового типа, к которому привязан тип данных (класс umiHierarchyType).
Возвращает Integer id базового типа данных (класс umiHierarchyType)
setHierarchyTypeId(Integer $hierarchy_type_id)
Изменить базовый тип (класс umiHierarchyType), к которому привязан тип данных.
Integer $hierarchy_type_id новый id базового типа (класс umiHierarchyType)
addFieldsGroup(String $name, String $title, Boolean $is_active = true, Boolean $is_visible = true)
Добавить в тип данных новую группу полей (класс umiFieldsGroup)
String $name - строковой идентификатор группы полей
String $title - название группы полей
Boolean $is_active=true флаг активности группы полей (всегда true)
Boolean $is_visible=true видимость группы полей
Возвращает Integer id созданной группы полей
delFieldsGroup(Integer $field_group_id)
Удалить группу полей (класс umiFieldsGroup).
Integer $field_group_id id группы, которую необходимо удалить
Возвращает Boolean true, если удаление прошло успешно
getFieldsGroupByName(String $field_group_name)
Получить группу полей (класс umiFieldsGroup) по ее строковому идентификатору
String $field_group_name строковой идентификатор группы полей
Возвращает umiFieldsGroup|Boolean группы полей (экземпляр класса umiFieldsGroup), либо false
getFieldsGroup(Integer $field_group_id)
Получить группу полей (класс umiFieldsGroup) по ее id
Integer $field_group_id id группы полей
Возвращает umiFieldsGroup|Boolean группы полей (экземпляр класса umiFieldsGroup), либо false
Получить список всех групп полей у типа данных
Array массив, состоящий из экземпляров класса umiFieldsGroup
setFieldGroupOrd(Integer $group_id, Integer $neword, Integer $is_last)
Изменить порядок следования группы полей
Integer $group_id
Integer $neword
Integer $is_last
Возвращает Boolean
getAllFields(Boolean $returnOnlyVisibleFields = false)
Получить список всех полей типа данных
Boolean $returnOnlyVisibleFields=false если флаг установлен true, то метод вернет только видимые поля
Возвращает Array массив, состоящий из экземпляров класса umiField
getFieldId(String $field_name)
Получить id поля по его строковому идентификатору
String $field_name строковой идентификатор поля
Возвращает Integer|Boolean id поля, либо false если такого поля не существует
umi-cms.spb.su
UMI.CMS | umiHierarchy
Калька с текущей документации с официального сайта, разбитая для удобства пользования не классы. Соответственно, все тамошние ошибки повторяются и здесь. Для сравнения смотрите раздел "Примеры работы с классами umi.api"
Chapter 33. umiHierarchy
Список методов
isExists(Integer $element_id) isLoaded(Integer $element_id) getElement(Integer $element_id, Boolean $ignorePermissions = false, Boolean $ignoreDeleted = false) delElement(Integer $element_id) copyElement(Integer $element_id, Integer $rel_id, Boolean $copySubPages = false) cloneElement(Integer $element_id, Integer $rel_id, Boolean $copySubPages = false) getDeletedList() restoreElement(id $element_id) removeDeletedElement(Integer $element_id) removeDeletedAll() getParent(Integer $element_id) getAllParents(Integer $element_id, Boolean $include_self = false) getChilds(Integer $element_id, Boolean $allow_unactive = true, Boolean $allow_unvisible = true, Integer $depth, Boolean $hierarchy_type_id = false, Integer $domainId = false) getChildsCount(Integer $element_id, Boolean $allow_unactive = true, Boolean $allow_unvisible = true, Integer $depth, Boolean $hierarchy_type_id = false, Integer $domainId = false) forceAbsolutePath(Boolean $bIsForced = true) getPathById(id $element_id, Boolean $ignoreLang = false, Boolean $ignoreIsDefaultStatus = false) getIdByPath(String $element_path, Boolean $show_disabled, Integer $errors_count) addElement(Interget $rel_id, Integer $hierarchy_type_id, String $name, String $alt_name, Integer $type_Id, Integer $domain_id, Integer $lang_id, Integer $tpl_id) moveBefore(Integer $element_id, Integer $rel_id, false Integer) moveFirst(Integer $element_id, Integer $rel_id) getDominantTypeId(Integer $element_id) addUpdatedElementId(id $element_id) getUpdatedElements() __destruct() getCollectedElements() unloadElement(Integer $element_id) getElementsCount() getElementsLastUpdateTime() getObjectInstances(Integer $object_id) getDominantTplId(Integer $elementId) getLastUpdatedElements(Integer $limit, Integer $timestamp) checkIsVirtual(Integer $arr) rebuildRelationNodes() buildRelationNewNodes(element_id id) getInstance() compareStrings(Interget $rel_id, Integer $hierarchy_type_id, String $name, String $alt_name, Integer $type_Id, Integer $domain_id, Integer $lang_id, Integer $tpl_id) convertAltName(String $alt_name) getTimeStamp()Предоставляет доступ к страницам сайта (класс umiHierarchyElement) и методы для управления структурой сайта. Синглтон, экземпляр коллекции можно получить через статический метод getInstance()
isExists(Integer $element_id)
Проверяет, существует ли страница (класс umiHierarchyElement) с id $element_id
Integer $element_id id странциы
Возвращает Boolean true если существует
isLoaded(Integer $element_id)
Проверяет, загружена ли в память страница (класс umiHierarchyElement) с id $element_id
Integer $element_id id странциы
Возвращает Boolean true если экземпляр класса umiHierarchyElement с id $element_id уже загружен в память
getElement(Integer $element_id, Boolean $ignorePermissions = false, Boolean $ignoreDeleted = false)
Получить экземпляр страницы (класс umiHierarchyElement) с id $element_id
Integer $element_id id страницы
Boolean $ignorePermissions=false игнорировать права доступа при получении экземпляра страницы
Boolean $ignoreDeleted=false игнорировать состояние удаленности (т.е. возможность получить удаленную страницу)
Возвращает umiHierarchyElement экземпляр страницы, либо false если нельзя получить экземпляр
delElement(Integer $element_id)
Удалить страницу с id $element_id
Integer $element_id id страницы
Возвращает Boolean true, если удалось удалить страницу
copyElement(Integer $element_id, Integer $rel_id, Boolean $copySubPages = false)
Создать виртуальную копию (подобие symlink в файловых системах) страницы $element_id
Integer $element_id id страницы, которую необходимо скопировать
Integer $rel_id id страницы, которая будет являться родителем созданной копии
Boolean $copySubPages=false если у копируемой страницы есть потомки, то если true они будут скопированы рекурсивно
Возвращает Integer id новой виртуальной копии страницы, либо false
cloneElement(Integer $element_id, Integer $rel_id, Boolean $copySubPages = false)
Создать копию страницы $element_id вместе со всеми данными
Integer $element_id id страницы, которую необходимо скопировать
Integer $rel_id id страницы, которая будет являться родителем созданной копии
Boolean $copySubPages=false если у копируемой страницы есть потомки, то если true они будут скопированы рекурсивно
Возвращает Integer id новой копии страницы, либо false
Получить список удаленных страниц (страниц в корзине)
Возвращает Array массив, состоящий из id удаленных страниц
restoreElement(id $element_id)
Восстановить страницу из корзины
id $element_id страницы, которую необходимо восстановить из корзины
Возвращает Boolean true, если удалось
removeDeletedElement(Integer $element_id)
Удалить из корзины страницу $element_id (и из БД)
Integer $element_id id страницы, которую будем удалять
Возвращает Boolean true в случае успеха
Удалить страницы из корзины (т. е. и из БД)
Возвращает Boolean true в случае успеха
getParent(Integer $element_id)
Получить id родительской страницы для $element_id
Integer $element_id id страницы
Возвращает Integer id родительской страницы, либо false
getAllParents(Integer $element_id, Boolean $include_self = false)
Получить список всех родительских страниц
Integer $element_id id страницы, родителей которой необходимо получить
Boolean $include_self=false включить в результат саму страницу $element_id
Возвращает Array массив, состоящий из id родиткельских страниц
getChilds(Integer $element_id, Boolean $allow_unactive = true, Boolean $allow_unvisible = true, Integer $depth, Boolean $hierarchy_type_id = false, Integer $domainId = false)
Получить список дочерних страниц по отношению к $element_id
Integer $element_id id страницы, у которой нужно взять всех потомков
Boolean $allow_unactive=true если true, то в результат будут включены неактивные страницы
Boolean $allow_unvisible=true если true, то в результат будут включены невидимые в меню страницы
Integer $depth=0 глубина поиска
Boolean $hierarchy_type_id=false включить в результат только страницы с указанным id базового типа (umiHierarchyType)
Integer $domainId=false указать id домена (актуально если ишем от корня: $element_id = 0)
Возвращает Array рекурсивный ассоциотивный массив, где ключ это id страницы, значение - массив детей
getChildsCount(Integer $element_id, Boolean $allow_unactive = true, Boolean $allow_unvisible = true, Integer $depth, Boolean $hierarchy_type_id = false, Integer $domainId = false)
Получить количество дочерних страниц по отношению к $element_id
Integer $element_id id страницы, у которой нужно взять всех потомков
Boolean $allow_unactive=true если true, то в результат будут включены неактивные страницы
Boolean $allow_unvisible=true если true, то в результат будут включены невидимые в меню страницы
Integer $depth=0 глубина поиска
Boolean $hierarchy_type_id=false включить в результат только страницы с указанным id базового типа (umiHierarchyType)
Integer $domainId=false указать id домена (актуально если ишем от корня: $element_id = 0)
Возвращает Integer количество детей
forceAbsolutePath(Boolean $bIsForced = true)
Переключить режим генерации урлов между относительным и полным (влючать адрес домена даже если он совпадает с текущим доменом)
Boolean $bIsForced=true true - режим полных урлов, false - обычный режим
Возвращает Boolean предыдущее значение
getPathById(id $element_id, Boolean $ignoreLang = false, Boolean $ignoreIsDefaultStatus = false)
Получить адрес страницы по ее id
id $element_id страницы, путь которой нужно получить
Boolean $ignoreLang=false не подставлять языковой префикс к адресу страницы
Boolean $ignoreIsDefaultStatus=false игнорировать статус страницы "по умолчанию" и сформировать для не полный путь
Возвращает String адрес страницы
getIdByPath(String $element_path, Boolean $show_disabled, Integer $errors_count)
Получить id страницы по ее адресу
String $element_path
Boolean $show_disabled = false
Integer $errors_count = 0 ссылка на переменную, в которую записывается количество несовпадений при разборе адреса
Возвращает Integer id страницы, либо false
addElement(Interget $rel_id, Integer $hierarchy_type_id, String $name, String $alt_name, Integer $type_Id, Integer $domain_id, Integer $lang_id, Integer $tpl_id)
Добавить новую страницу
Interget $rel_id id родительской страницы
Integer $hierarchy_type_id id иерархического типа (umiHierarchyType)
String $name название старницы
String $alt_name псевдостатический адрес (если не передан, то будет вычислен из $name)
Integer $type_Id = false id типа данных (если не передан, то будет вычислен из $hierarchy_type_id)
Integer $domain_id = false id домена (имеет смысл только если $rel_id = 0)
Integer $lang_id = false id языковой версии (имеет смысл только если $rel_id = 0)
Integer $tpl_id = false id шаблона, по которому будет выводится страница
Возвращает Integer id созданной страницы, либо false
moveBefore(Integer $element_id, Integer $rel_id, false Integer)
Переместить страницу $element_id в страницу $rel_id перед страницей $before_id
Integer $element_id id перемещаемой страницы
Integer $rel_id id новой родительской страницы
$before_id = false Integer id страницы, перед которой нужно разместить страницу $element_id. Если false, поместить страницу в конец списка
Возвращает Boolean true, если успешно
moveFirst(Integer $element_id, Integer $rel_id)
Переместить страницу $element_id в страницу $rel_id в начало списка
Integer $element_id id перемещаемой страницы
Integer $rel_id id новой родительской страницы
Возвращает Boolean true в случае успеха
getDominantTypeId(Integer $element_id)
Получить id типа данных, которому принадлежит больше всего страниц под $element_id
Integer $element_id id страницы
Возвращает Integer id типа данных (класс umiObjectType)
addUpdatedElementId(id $element_id)
Пометить страницу с id $element_id как измененную в рамках текущей сессии. Используется самой системой
id $element_id страницы
Получать список страниц, измененных в рамках текущей сессии
Возвращает Array массив, состоящий из id страниц
Получить список страниц, участвоваших в текущей сессии
Возвращает Array массив, состоящий из id страниц
unloadElement(Integer $element_id)
Выгрузить экземпляр страницы $element_id из коллекции
Integer $element_id id страницы
Deprecated: устаревший метод
getElementsLastUpdateTime()
Получить максимальное значениея атрибута "дата последней модификации" для всех страниц, загруженных в текущей сессии
Возвращает Integer дата в формате UNIX TIMESTAMP
getObjectInstances(Integer $object_id)
Получить все страницы, использующие объект (класс umiObject) в качестве источника данных
Integer $object_id id объекта
Возвращает Array массив, состоящий из id страниц
getDominantTplId(Integer $elementId)
Получить id шаблона, который больше всего используется у подстраниц страницы $element_id
Integer $elementId id страницы
Возвращает Integer id шаблона дизайна (класс template)
getLastUpdatedElements(Integer $limit, Integer $timestamp)
Получить список страниц, измененных с даты $timestamp
Integer $limit ограничение на количество результатов
Integer $timestamp=0 дата в формате UNIX TIMESTAMP
Возвращает Array массив, состоящий из id страниц
checkIsVirtual(Integer $arr)
Проверить список страниц на предмет того, имеют ли они виртуальные копии
Integer $arr массив, где ключ это id страницы, а значение равно false(!)
Возвращает Array преобразует параметр $arr таким образом, что false поменяется на количество виртуальных копий там, где они есть
Перестроить дерево зависимостей для узла $element_id
buildRelationNewNodes(element_id id)
Построить дерево зависимостей для $element_id относительно родителей
$element_id id страницы
Возвращает umiHierarchy экземпляр класса umiHierarchy
compareStrings(Interget $rel_id, Integer $hierarchy_type_id, String $name, String $alt_name, Integer $type_Id, Integer $domain_id, Integer $lang_id, Integer $tpl_id)
Возвращает Integer id созданной страницы, либо false
Interget $rel_id id родительской страницы
Integer $hierarchy_type_id id иерархического типа (umiHierarchyType)
String $name название старницы
String $alt_name псевдостатический адрес (если не передан, то будет вычислен из $name)
Integer $type_Id = false id типа данных (если не передан, то будет вычислен из $hierarchy_type_id)
Integer $domain_id = false id домена (имеет смысл только если $rel_id = 0)
Integer $lang_id = false id языковой версии (имеет смысл только если $rel_id = 0)
Integer $tpl_id = false id шаблона, по которому будет выводится страница
convertAltName(String $alt_name)
Возвращает String результат транслитерации
String $alt_name псевдостатический url
Возвращает Integer текущий unix timestamp
umi-cms.spb.su