Формат UMIDump 2.0 представляет собой структурированный XML-ресурс, описывающий сущности системы (объекты и страницы) и их зависимости, а также типы данных системы, необходимые для построения этих сущностей.
Внимание: Поскольку при импорте больших объемов данных производится их автоматическая разбивка, необходимо организовывать секции именно в указанном порядке. При создании страниц необходимо соблюдать последовательный порядок импорта: импортировать вложенные страницы после родительских, а при создании типов данных - дочерние типы после родительских.
Структура формата выглядит следующим образом:
<umidump version="2.0">
<meta>
<site-name>umicms.demo site</site-name>
<domain>example.com</domain>
<lang>ru</lang>
<source-name>umiDump20</source-name>
<generate-time> ... </generate-time>
<branches> ... </branches>
</meta>
<registry>
<key path="settings" val=""/>
<key path="settings/default_module_admin" val="content"/>
...
</registry>
<directories>
<directory path="./css" name="css">/css</directory>
<directory path="./images" name="images">/images</directory>
...
</directories>
<files>
<file path="./files/testfile.txt" size="4" ext="txt" hash="098f6...7b4f6" name="testfile.txt">/files/testfile.txt</file>
<file path="./css/design/__common.css" size="72" ext="css" hash="66ccd...bd566a" name="__common.css">/css/design/__common.css</file>
...
</files>
<langs>
<lang id="1" prefix="ru" is-default="1" is-current="1">Русский</lang>
<lang id="7" prefix="en">English</lang>
...
</langs>
<domains>
<domain id="1" host="example.com" lang-id="1" is-default="1">
...
</domain>
</domains>
<templates>
<template id="2" title="Основной" filename="default.xsl" domain-id="1" lang-id="1" is-default="1"/>
...
</templates>
<datatypes>
<datatype name="Кнопка-флажок" data-type="boolean"/>
...
</datatypes>
<types>
<type id="6" guid="users-users" title="Группы пользователей" parent-id="0" guide="guide" locked="locked">
...
</type>
...
</types>
<objects>
<object id="2374" guid="users-users-2374" name="Зарегистрированные пользователи" type-id="6">
...
</object>
...
</objects>
<pages>
<page id="905" parentId="0" link="/testovyj_razdel/" is-active="1" object-id="30555" type-id="9" alt-name="testovyj_razdel" lang-id="1" domain-id="1">
...
</page>
...
</pages>
<relations>
<relation type-id="4" field-name="groups">
...
</relation>
...
</relations>
<options>
<entity object-id="30556" field-name="stores_state">
...
</entity>
...
</options>
<restrictions>
<restriction id="1" prefix="discount" title="Размер скидки" field-type="float" is-multiple=""/>
...
</restrictions>
<permissions>
<permission object-id="27085">
...
</permission>
...
</permissions>
<hierarchy>
<relation id="2" ord="2" parent-id="0"/>
...
</hierarchy>
</umidump>
Как можно видеть, структура формата включает 16 секций, описываемых содержимым следующих тегов:
-
тег
meta
— содержимое описывает сайт, домен, используемый язык, время генерации, и список корневых элементов (страниц) -
тег
registry
— содержимое описывает список экспортируемых или импортируемых записей реестра -
тег
directories
— содержимое описывает список директорий, которые должны быть созданы при импорте -
тег
files
— содержимое описывает список экспортируемых или импортируемых файлов -
тег
langs
— содержимое описывает список экспортируемых или импортируемых языков -
тег
domains
— содержимое описывает список экспортируемых или импортируемых доменов -
тег
templates
— содержимое описывает список экспортируемых или импортируемых шаблонов страниц -
тег
datatypes
— содержимое описывает список экспортируемых или импортируемых типов полей, используемых типами данных -
тег
types
— содержимое описывает список экспортируемых или импортируемых типов данных -
тег
objects
— содержимое описывает список экспортируемых или импортируемых объектов -
тег
pages
— содержимое описывает список экспортируемых или импортируемых типов страниц -
тег
relations
— содержимое описывает список экспортируемых или импортируемых полей, значениями которых являются элементы справочников или ссылки на дерево (поля типов relation или symlink) -
тег
options
— содержимое описывает список экспортируемых или импортируемых полей типа option -
тег
restrictions
— содержимое описывает список экспортируемых или импортируемых ограничений на значение полей -
тег
permissions
— содержимое описывает список экспортируемых или импортируемых прав пользователей -
тег
hierarchy
— содержимое описывает иерархию страниц
Рассмотрим содержимое каждого тега подробнее.
Тег meta
описывает общую информации о текущем импорте или экспорте.
<meta>
<site-name>umi.cms test site</site-name>
<domain>example.com</domain>
<lang>ru</lang>
<source-name>umiDump20</source-name>
<generate-time>
<timestamp>1269013825</timestamp>
<rfc>Fri, 19 Mar 2010 18:50:25 +0300</rfc>
<utc>2010-03-19T18:50:25+03:00</utc>
</generate-time>
<branches>
<id>1</id>
<id>2</id>
...
</branches>
</meta>
Идентификатор ресурса.
При интеграции со сторонним сервисом, здесь следует указать имя пространства имен. Используется UMI.CMS для связи идентификаторов сервиса с идентификаторами объектов UMI.CMS. См. также «Особенности экспорта».
Тег registry
описывает список экспортируемых или импортируемых записей реестра.
<registry>
<key path="settings" val=""/>
<key path=settings/default_module_admin" val="content"/>
</registry>
Тег directories
описывает директории, которые должны быть созданы при импорте.
<directories>
<directory path="./css" name="css">/css
</directory>
<directory path="./images" name="images">/images
</directories>
Тег files
описывает список экспортируемых или импортируемых файлов.
<files>
<file path="./files/testfile.txt" size="4" ext="txt" hash="098f6bcd4621d373cade4e832627b4f6" name="testfile.txt">/files/testfile.txt
</files>
<file path="./css/design/__common.css" size="72" ext="css" hash="66ccd0b74b3ddbb1b5fe14b697bd566a" name="__common.css">/css/design/__common.css
</files>
</files>
Тег langs
описывает список экспортируемых или импортируемых языков.
<langs>
<lang id="1" prefix="ru" is-default="1" is-current="1">
Русский
</lang>
<lang id="7" prefix="en">
English
</lang>
</langs>
Ветвь, описывающая конкретный язык.
- @id
-
Числовой идентификатор языка.
При импорте указывать обязательно.
- @prefix
-
Строковый идентификатор языка.
- @is-default
-
Определяет, является ли данный язык языком по умолчанию.
- @is-current
-
Является ли данный язык текущим для домена, с которым производится экспорт или импорт.
Тег domains
описывает список экспортируемых или импортируемых доменов.
<domains>
<domain id="1" host="example.com" lang-id="1" is-default="1">
<domain-mirror id="1" host="example.ru"/>
</domain>
</domains>
Ветвь, описывающая отдельный домен.
- @id
-
Числовой идентификатор домена.
- @host
-
Имя хоста домена.
- @lang-id
-
Числовой идентификатор языка, который является основным на данном домене.
- @is-default
-
Является ли данный домен основным.
Тег templates
описывает список экспортируемых или импортируемых шаблонов страниц.
<templates>
<template id="2" title="Основной" filename="default.xsl" domain-id="1" lang-id="1" is-default="1"/>
</templates>
Ветвь, описывающая отдельный шаблон.
- @id
-
Числовой идентификатор шаблона.
- @title
-
Название шаблона.
- @filename
-
Имя файла этого шаблона. (Полный путь относительно папки шаблонов: для XSLT - xsltTpls, для TPL - TPLs/content).
- @domain-id
-
Числовой идентификатор домена, на котором используется данный шаблон.
- @lang-id
-
Атрибут, указывающий идентификатор языка, для которого используется данный шаблон.
- @is-default
-
Является ли данный шаблон основным для домена, на котором он используется.
Тег datatypes
описывает список экспортируемых или импортируемых типов полей, используемых типами данных.
<datatypes>
<datatype name="Кнопка-флажок" data-type="boolean"/>
<datatype name="Выпадающий список с множественным выбором" data-type="relation" multiple="multiple"/>
<datatype name="Выпадающий список" data-type="relation"/>
</datatypes>
Тег types
описывает список экспортируемых или импортируемых типов данных
<types>
<type id="{root-pages-type}" guid="root-pages-type" title="Раздел сайта" parent-id="0" locked="locked">
<base/>
<fieldgroups>
<group name="common" title="Основные параметры" locked="locked">
<field name="title" title="Поле TITLE" field-type-id="3" >
<type id="3" name="Строка" data-type="string"/>
</field>
<field name="h1" title="Поле H1" field-type-id="3" > ... </field>
<field name="content" title="Контент" field-type-id="18" > ... </field>
<field name="meta_descriptions" title="Поле meta DESCRIPTIONS" > ... </field>
<field name="meta_keywords" title="Поле meta KEYWORDS" > ... </field>
<field name="tags" title="Теги" field-type-id="23" > ... </field>
</group>
<group name="menu_view" title="Отображение в меню" locked="locked"> ... </group>
<group name="more_params" title="Дополнительные параметры" locked="locked"> ... </group>
<group name="locks" title="Блокировка" visible="visible"> ... </group>
</fieldgroups>
</type>
<type id="10" title="Страница контента" parent-id="{root-pages-type}" locked="locked">
<base module="content">Страницы контента</base>
<fieldgroups> ... </fieldgroups>
</type>
<type id="9" title="Раздел каталога" parent-id="{root-pages-type}" locked="locked"> ... </type>
<type id="11" title="Объект каталога" parent-id="{root-pages-type}" locked="locked"> ... </type>
...
</types>
Ветвь, описывающая отдельный тип данных.
- @id
-
Идентификатор типа.
При импорте указывать обязательно.
- @guid
-
Строковый идентификатор (используется для системных типов).
- @title
-
Заголовок (название) типа.
- @parent-id
-
Идентификатор родительского типа.
Для типов, у которых непосредственными родителем является тип "Раздел сайта", необходимо указывать подстановку
{root-pages-type}
.Для типов, у которые непосредственным родителем является тип "Справочники", необходимо указывать подстановку
{root-guides-type}
.Если не указан, будет выставлен
parent-id="0"
, то есть этот тип будет корневым в иерархии типов. Для всех других ситуаций необходимо указывать идентификатор существующего типа. - @locked = "locked"
-
Обозначает системный (закрытый для редактирования) тип данных.
При импорте необязателен; если указан, будет выставлено указанное значение.
- @guide="guide"
-
Указывает, что этот тип данных можно использовать как справочник (можно записать также как
guide="1"
)
Указывает базовый тип для этого типа данных. Идентификация происходит на основании атрибутов module
и method
, если не будет найдено соответствия, то тип будет автоматически создан.
- @module
-
Модуль, который работает с этим типом данных.
- @method
-
Метод модуля (указанного в атрибуте
module
), который работает с этим типом данных.
Ветвь описывающая список групп полей — элементов <group>
.
Элемент, описывающий группу полей. Идентификация происходит по значению атрибута name
.
- @name
-
Название группы полей.
При импорте указывать обязательно.
- @title
-
Заголовок группы полей — будет показан в интерфейсе модуля "Шаблоны данных".
- @locked="locked"
-
Обозначает системную (закрытую для редактирования) группу полей.
При импорте необязателен; если указан, будет выставлено указанное значение.
Элемент, описывающий отдельное поле. Идентификация происходит по значению атрибута name
.
- @name
-
Название поля.
- @title
-
Заголовок поля — будет показан в интерфейсе модуля "Шаблоны данных".
- @field-type-id
-
Идентификатор типа поля.
При импорте игнорируется.
- @visible="visible"
-
Указывает, что поле будет видимым при редактировании типа в модуле "Шаблоны данных".
При импорте необязателен; если указан, будет выставлено указанное значение.
- @locked="locked"
-
Обозначает системное (закрытое для редактирования) поле.
При импорте необязателен; если указан, будет выставлено указанное значение.
- @indexable="indexable"
-
Указывает, что поле будет индексироваться (для поиска по сайту).
При импорте необязателен; если указан, будет выставлено указанное значение.
- @filterable="filterable"
-
Указывает, что поле можно использовать в фильтрах.
При импорте необязателен; если указан, будет выставлено указанное значение.
- @required="required"
-
Указывает, что это поле будет обязательными к заполнению.
При импорте необязателен; если указан, будет выставлено указанное значение.
- @guide-id
-
Если поле выводит данные типа "выпадающий список" или "выпадающий список с множественным выбором", то в этом атрибуте указывается идентификатор соответствующего справочника.
Подсказка к полю, появляющаяся при наведении курсора на поле во время редактирования объекта или страницы в административном интерфейсе.
Описание типа информации, которая хранится в этом поле. Идентификация происходит по атрибуту data-type
. Если не описан, будет создан c названием по содержимому атрибута name
.
Содержимое может быть одним из следующего списка:
-
Число
<type name="Число" data-type="int"/>
-
Число с точкой
<type name="Число с точкой" data-type="float"/>
-
Цена
<type name="Цена" data-type="price"/>
-
Дата
<type name="Дата" data-type="date"/>
-
Строка
<type name="Строка" data-type="string"/>
-
Простой текст
<type name="Простой текст" data-type="text"/>
-
HTML-текст
<type name="HTML-текст" data-type="wysiwyg"/>
-
Теги
<type name="Теги" data-type="tags" multiple="multiple"/>
-
Выпадающий список
<type name="Выпадающий список" data-type="relation"/>
-
Выпадающий список с множественным выбором
<type name="Выпадающий список с множественным выбором" data-type="relation" multiple="multiple"/>
-
Изображение
<type name="Изображение" data-type="img_file"/>
-
Флеш-ролик
<type name="Флеш-ролик" data-type="swf_file"/>
-
Файл
<type name="Файл" data-type="file"/>
-
Видеофайл
<type name="Видео" data-type="video_file"/>
-
Кнопка-флажок
<type name="Кнопка-флажок" data-type="boolean"/>
-
Пароль
<type name="Пароль" data-type="password"/>
-
Составное
<type name="Составное" data-type="optioned" multiple="multiple"/>
-
Счетчик
<type name="Счетчик" data-type="counter"/>
-
Ссылка на дерево
<type name="Ссылка на дерево" data-type="symlink" multiple="multiple"/>
Тег objects
описывает список импортируемых или экспортируемых объектов.
<objects>
<object id="27622" name="Заказ #1" type-id="755" ownerId="14">
<properties>
<group name="order_props">
<title>Свойства заказа</title>
<property name="order_items" type="relation" multiple="multiple">
<title>Наименования заказа</title>
<value>
<item id="27816" name="Комбайн" type-id="756" ownerId="14" xlink:href="uobject://27816"/>
</value>
</property>
<property name="number" type="int"> ... </property>
<property name="customer_id" type="relation"> ... </property>
<property name="domain_id" type="int"> ... </property>
...
</group>
<group name="order_payment_props"> ... </group>
<group name="order_delivery_props"> ... </group>
<group name="integration_date"> ... </group>
</properties>
</object>
<object id="15" guid="users-users-15" name="Супервайзеры" type-id="6"> ... </object>
....
</objects>
Содержимое этого элемента описывает отдельный объект из списка.
- @id
-
Идентификатор объекта.
При импорте указывать обязательно: должен быть уникальным, само значение не важно (см. «Особенности экспорта».).
- @guid
-
Строковый идентификатор (используется для системных объектов).
- @name
-
Название объекта.
При импорте указывать не обязательно. Если указан и объект существует — будет перезаписано. Если не указан и объект еще не существует — будет указано значение вида
object#идентификатор_объекта
. - @type-id
-
Идентификатор типа данных, по которому создан этот объект.
При импорте тип с таким id уже должен существовать: либо исходно, либо уже импортирован. Если не существует, объект не будет создан.
- @ownerId
-
Идентификатор владельца объекта — пользователь, который создал этот объект.
При импорте будет установлен id того пользователя, от чьего имени производится импорт, только в том случае, когда нет соответствующей записи в секции permissions. (см. ниже)
- @update-only = "1"
-
Атрибут, определяющий как будет импортироваться этот объект: если объект уже существует, то он будет пропущен и никаких изменений не будет внесено; если же не существует — объект не будет создан.
См. также «Особенности импорта»
Ветвь, описывающая свойства объекта — группы полей (элементы <group>
), и поля со значениями (элементы <property>
).
Элемент, описывающий группу полей объекта (элементы <property>
).
- @name
-
Название группы.
По этому атрибуту происходит идентификация группы, например, в случае, если добавляется новое поле в тип данных (см. ниже
property/@allow-runtime-add
).
Элемент, описывающий отдельное свойство объекта: поле и значение.
- @name
-
Название свойства. По нему происходит идентификация свойства.
Если не найден в типе данных при импорте, то в случае
allow-runtime-add = "1"
свойство будет создано в соответствующем типе данных; в ином случае свойство будет проигнорировано. - @allow-runtime-add = "1"
-
Позволяет управлять изменением типа данных для данного объекта. В случае наличия этого атрибута отсутствующие свойства с этим атрибутом будут добавлены в тип данных для этого объекта в группу.
См. также «Особенности импорта»
- @type
-
Тип данных, хранящихся в этом свойстве.
- @multiple="multiple"
-
Используется для типов "Выпадающий список с множественным выбором" и "Ссылка на дерево".
Примеры содержимого тега <property>
:
-
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>
@xlink:href
— при импорте игнорируется.@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 id="27255" name="Самовывоз" type-id="781" ownerId="14" link:href="uobject://27255"/> </value> </property>
Если нет соответствующей записи в секции relations, то при импорте значение данных полей игнорируется.
-
type="relation" multiple="multiple"
— выпадающий список с множественным выбором<property name="order_items" type="relation" multiple="multiple"> <title>Наименования заказа</title> <value> <item id="27816" name="Комбайн" type-id="756" ownerId="14" xlink:href="uobject://27816"/> </value> </property>
Если нет соответствующей записи в секции 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>
При импорте важно только значение тега
value
, остальное будет проигнорировано. -
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 id="27147" 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 id="28989" 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>
Этот тег следует указать вместе тега <value>
в содержимом элемента <property>
, для того, чтобы значение было выставлено только при создании объекта. При повторном импорте, для тех свойств, где стоит <default-value>
, уже имеющееся значение не будет перезаписываться.
См. также «Особенности импорта»
Тег pages
описывает список импортируемых или экспортируемых страниц.
<pages>
<page id="1" parentId="0" link="/" is-default="1" is-active="1"
object-id="27553" type-id="10" update-time="1268823525" alt-name="luchshie_predlozheniya">
<basetype id="2" module="content">Страницы контента</basetype>
<name>Лучшие предложения</name>
<properties>
<group name="common">
<title>Основные параметры</title>
<property name="h1" type="string"> ... </property>
<property name="content" type="wysiwyg"> ... </property>
</group>
</properties>
<template id="2">default.xsl</template>
</page>
<page id="2" parentId="0" link="/shop/" is-active="1"
object-id="27554" type-id="9" update-time="1268823525" alt-name="shop"> ... </page>
<page id="3" parentId="2" link="/shop/dvd_tehnika/" is-active="1"
object-id="27555" type-id="9" update-time="1268823525" alt-name="dvd_tehnika"> ... </page>
...
</pages>
Содержимое элемента описывает отдельную страницу из списка.
- @id
-
Идентификатор страницы.
При импорте указывать обязательно: должен быть уникальным, само значение не важно (см. «Особенности экспорта».).
- @parentId
-
Идентификатор родительской страницы.
Если не указать при импорте, будет выставлено parentId = '0', и страница попадет в корень сайта.
- @link
-
Ссылка на страницу.
- @is-default
-
Указывает является ли эта страница главной страницей сайта или нет.
При импорте игнорируется.
- @is-active
-
Указывает активна или нет эта страница.
При импорте будет установлено значение, если указано явно.
- @object-id
-
Идентификатор страницы как объекта.
При импорте игнорируется.
- @type-id
-
Идентификатор типа данных, по которому создана страница.
При импорте тип с таким id уже должен существовать: либо исходно, либо уже импортирован. Если не существует, страница не будет создана.
- @update-time
-
Время последнего изменения страницы в UNIX TIMESTAMP
- @alt-name
-
Альтернативное имя страницы (используется в URL).
При импорте выставляется при создании страницы и далее при помощи импорта поменять нельзя. В случае, если не указан при создании, будет взято транслитерированное название
- @update-only = "1"
-
Атрибут, определяющий как будет импортироваться эта страница. Если страница уже существует, то она будет пропущена и никаких изменений не будет внесено; если же не существует — объект будет создан.
См. также «Особенности импорта»
Элемент описывающий базовый тип для этой страницы (назначение страниц этого типа).
При импорте не учитывается.
- @module
-
Модуль, который работает со страницами этого типа.
- @method
-
Метод указанного модуля, который работает со страницами этого типа.
Ветвь, описывающая свойства страницы: группы полей (элементы <group>) и поля (элементы <property>).
Элемент, описывающий группу полей.
- @id
-
Идентификатор группы полей.
- @name
-
Системное название группы полей.
Описывает шаблон, используемый этой страницей для отображения. Система будет искать этот шаблон в списке существующих, поэтому шаблон с таким именем должен быть уже зарегистрирован.
- @id
-
Идентификатор шаблона.
При импорте игнорируется, идентификатор будет установлен системой самостоятельно.
Если указывать этот тег вместо <template>
, то будет установлен только при создании страницы, а в дальнейшем игнорируется. Система будет искать этот шаблон в списке существующих, поэтому шаблон с таким именем должен быть уже зарегистрирован.
Если указать этот тег, то активность будет установлена при импорте только при создании страницы, в дальнейшем содержимое тега будет игнорироваться.
Тег relations
описывает поля, значениями которых являются элементы справочников или ссылки на дерево (поля типов relation или symlink).
<relations>
<relation type-id="4" field-name="groups">
<guide id="6"/>
</relation>
<relation object-id="27571" field-name="country">
<object id="26341"/>
</relation>
<relation object-id="30557" field-name="pohozhie">
<page id="906"/>
</relation>
<relation page-id="907" field-name="pohozhie">
<page id="906"/>
</relation>
</relations>
Описывает связку «справочник – поле» (I) либо значения полей типа relation с множественным или единственным выбором(II), либо значение полей типа symlink для страниц или объектов (III).
- I.
- @field-name
-
Имя поля, для которого установлен справочник.
- @type-id
-
Идентификатор типа, в котором используется поле.
- II-III.
- @field-name
-
Имя поля, для поля которого установлено значение.
- @object-id
-
Идентификатор объекта, для поля которого установлено значение.
- @page-id
-
Идентификатор страницы, для поля которой установлено значение.
В случае, когда поле является полем типа relation, используется вложенный тег <object>, а когда поле является полем типа symlink, используется вложенный тег <page>.
Указывает объект, на который ссылается поле.
- @id
-
Идентификатор объекта. Объект с таким идентификатором должен быть описан ранее в секции objects
Тег options
описывает список всех полей типа option.
<options>
<entity object-id="30556" field-name="stores_state">
<option int="569" float="1" object-id="27147"/>
</entity>
<entity page-id="906" field-name="stores_state">
<option int="569" float="1" object-id="27147"/>
</entity>
</templates>
Элемент, описывающий либо страницу, либо объект, для которого устанавливается значение.
- @field-name
-
Имя поля, для которого устанавливается значение.
- @object-id
-
Идентификатор объекта.
- @page-id
-
Идентификатор страницы.
Тег restrictions
описывает список всех экспортируемых или импортируемых ограничений на значение полей.
<restrictions>
<restriction id="1" prefix="discount" title="Размер скидки" field-type="float" is-multiple=""/>
<restriction id="2" prefix="email" title="E-mail" field-type="string" is-multiple="">
<field field-name="email" type-id="11"/>
</restriction>
<restriction id="3" prefix="httpUrl" title="Web-адрес" field-type="string" is-multiple=""/>
<restriction id="4" prefix="systemDomain" title="Домен системы" field-type="int" is-multiple=""/>
<restriction id="5" prefix="objectType" title="Тип данных" field-type="int" is-multiple=""/>
</restrictions>
Элемент, описывающий ограничение (и поля, на которые накладывается ограничение, если такие есть).
- @id
-
Числовой идентификатор ограничения.
- @prefix
-
Строковый идентификатор ограничения.
- @title
-
Название ограничения.
- @fieldtype
-
Тип поля, на которое накладывается ограничение.
- @is-multiple="multiple"
-
Указывает, является ли поле полем с множественным выбором.
Тег permissions
описывает список всех экспортируемых или импортируемых прав пользователей.
<permissions>
<permission object-id="27085">
<owner id="14"/>
</permission>
<permission object-id="2374">
<module name="users" method="settings" allow="1"/>
<module name="eshop" method="personal" allow="1"/>
<module name="blogs20" method="add" allow="1"/>
</permission>
</permissions>
Элемент, описывающий объект, для которого установлены права.
- @object-id
-
Элемент, описывающий идентификатор объекта.
Элемент, описывающий владельца объекта, если таковой имеется.
- @id
-
Числовой идентификатор объекта типа "Пользователь", который является владельцем.
Тег hierarchy
описывает иерархию страниц. При импорте дает возможность восстановить иерархию в случае, если страницы импортированы в неправильном порядке.
<hierarchy>
<relation id="2" ord="2" parent-id="0"/>
<relation id="3" ord="1" parent-id="2"/>
<relation id="4" ord="1" parent-id="3"/>
</hierarchy>
Элемент, описывающий положение отдельной страницы.
- @id
-
Элемент, описывающий идентификатор страницы.
- @ord
-
Элемент, описывающий порядковый номер страницы в иерархии.
- @parent-id
-
Элемент, описывающий идентификатор родительской страницы. Значение "0" указывает на то, что страница находится в корне сайта.