Особенности импорта

В этом топике собраны основные нюансы использования атрибутов и тегов в сжатом виде.

Строковые константы

Специально установленные константы, которые система заменит сама на нужные значения. Обрамляются фигурными скобками.

{root-pages-type}

Константа, которая будет заменена на идентификатор корневого типа "Раздел сайта".

Используется в определении типов в секции <types> для атрибута parentId, для того, чтобы указать, что данный тип данных является страницей сайта и должен быть размещен в иерархии сайта.

{root-guides-type}

Константа, которая будет заменена на идентификатор корневого типа "Справочники".

Используется в определении типов в секции <types>, для того чтобы в иерархии типов данный тип был помещен в подчиненные типы для типа "Справочники".

Управляющие атрибуты

objects/object/@update-only

Атрибут, определяющий то, как будет импортироваться этот объект.

В случае, если указано значение "1", объект будет только обновляться. Если он не существует, он не будет создан.

pages/page/@update-only

Атрибут, определяющий то, как будет импортироваться эта страницы.

В случае, если указано значение "1", страница будет только обновляться. Если она не существует, она не будет создана.

objects/object/properties/group/property/@allow-runtime-add

Атрибут, определяющий будет ли добавляться это свойство в тип данных для этого объекта.

В случае, если указано значение "1", соответствующее свойство будет добавлено. В ином случае — проигнорировано. Для того, чтобы это свойство было добавлено необходимо, чтобы был указан тег <type> с атрибутом data-type, например:

<property id="9064" name="order_items" type="relation" multiple="multiple">
   <type id="4" name="Выпадающий список" data-type="relation"/>
   <title>Наименования заказа</title>
   <value>
      <item id="27816" name="Комбайн" type-id="756" ownerId="14" xlink:href="uobject://27816"/>
   </value>
</property>

pages/page/properties/group/property/@allow-runtime-add

Атрибут, определяющий будет ли добавляться это свойство в тип данных для этой страницы.

В случае, если указано значение "1", соответствующее свойство будет добавлено. В ином случае — проигнорировано. Для того, чтобы это свойство было добавлено необходимо, чтобы был указан тег <type> с атрибутом data-type, например:

<property id="9223" name="best_offers" type="boolean">
  <type id="14" name="Кнопка-флажок" data-type="boolean"/>
  <title>Лучшие предложения</title>
  <value>1</value>
</property>

Теги значений при создании

Эти теги используются, чтобы указать, какое значение выставить при создании этих страниц или объектов. При дальнейших импортах значение этих свойств или атрибутов не будут меняться.

Значения свойств при создании

Для объектов используется тег: objects/object/properties/group/property/default-value

Для страниц используется тег: pages/page/properties/group/property/default-value

Значения атрибутов при создании

Активность страниц при создании: page/default-active

Отображение страниц в меню при создании: page/default-visible

Шаблон для страниц при создании

Для того, чтобы указать шаблон, используемый при создании для этой страницы, нужно воспользоваться тегом page/default-template, указав в содержимом тега имя файла. Система будет искать указанный файл в списке зарегистрированных шаблонов в настройках модуля "Структура". Например:

<default-template>default.xsl</default-template>

Шаблон default.xsl должен быть уже зарегистрирован на сайте.

Атрибуты, переопределяющие значения

Следующие атрибуты переопределят значения, если их указать при импорте:

  • type/@locked — изменит возможность редактирования типа

  • type/fieldsgroup/group/@locked — изменит возможность редактирования группы полей

  • type/fieldsgroup/group/field/@visible — изменит видимость поля

  • type/fieldsgroup/group/field/@locked — изменит возможность редактирования поля

  • type/fieldsgroup/group/field/@indexable — изменит значение "индексируемое" для поля

  • type/fieldsgroup/group/field/@filterable — изменит значение "использовать в фильтрах" для поля

  • type/fieldsgroup/group/field/@required — изменит значение "обязательно к заполнению" для поля

  • page/@is-active — изменит активность страницы