Логотип

Документация по макросам и шаблонам UMI.CMS

Тип данных — это описательная структура, которая является шаблоном для создания объектов и страниц в UMI.CMS. Другими словами, эта структура определяет набор предполагаемых характеристик или свойств у объектов этого типа или у страниц этого типа в системе (о различиях объектов и страниц см. далее).

Если открыть модуль "Шаблоны данных", можно увидеть все существующие в данный момент типы данных. Типы данных могут наследоваться, в результате чего появляются подтипы. Подтипы отображаются как подчиненные элементы родительских типов в дереве иерархии в модуле "Шаблоны данных".

Набор характеристик или свойств объекта и страницы определяется полями, которые группируются в группы полей:

  • Поле — это некая характеристика с уникальным именем и набором атрибутов, таких как, например: id, название или тип поля. Поля предназначены для хранения информации об объекте, — например, для объекта типа "Пользователь" в поле с именем login мы можем хранить логин пользователя, а в поле с именем last_request_time — время последнего появления на сайте. Значения полей мы можем отобразить, отфильтровать или изменить в зависимости от стоящих задач.

    Поля наследуются по принципу жесткой ссылки: изменение атрибутов поля у подтипа повлечет изменение атрибутов поля родительского типа. Однако мы можем удалить поле или добавить новое поле у подтипа без изменений в родительском типе.

  • Группа полей — это способ объединять поля по какому-либо принципу. Например, для типа "Пользователь" можно объединить поля логин, пароль и e-mail в группу "Идентификационные данные".

    Группы полей наследуются по принципу мягкой ссылки — изменения в группах для подтипов не повлечет изменений в родительском типе.

Вот так, например, может выглядеть в административном интерфейсе тип данных "Пользователи" в модуле "Шаблоны данных":

Рисунок 1.1. Редактирование типа данных: пользователи

Редактирование типа данных: пользователи
Редактирование типа данных

А так — конкретный пользователь, созданный по этому типу данных в модуле "Пользователи":

Рисунок 1.2. Редактирование пользователя

Редактирование пользователя