Тема должна иметь файл components.json
, расположенный в /ThemeName/components.json
, который указывает компоненты, используемые в теме.
Этот файл должен содержать допустимый JSON и, как минимум пустой массив JSON []
.
Синтаксис файла components.json
содержит список всех локальных компонентов и полностью поддерживает категоризацию компонентов. (Удаленные компоненты зарегистрированы в каталоге компонентов.)
Независимо от того, какие компоненты добавлены в файл components.json
уровня темы (включая "ни одного"), Oracle Content Management вносит набор компонентов по умолчанию, доступных пользователям. Этот набор по умолчанию определен в исходном коде. Ниже приведен список компонентов и (предварительно заданных) компонентов, визуализируемых во встроенных рамках. Кроме того, все удаленные компоненты, зарегистрированные на уровне сервиса и доступные пользователям в данном экземпляре, будут доступны в Site Builder.
В комплект поставки Oracle Content Management входят следующие локальные компоненты.
Имя | Тип | Идентификатор |
---|---|---|
Заголовок |
scs-title |
scs-title |
Абзац |
scs-paragragh |
scs-paragragh |
Изображение |
scs-image |
scs-image |
Галерея |
scs-gallery |
scs-gallery |
Сетка галереи |
scs-gallerygrid |
scs-gallerygrid |
Документ |
scs-document |
scs-document |
Кнопка |
scs-button |
scs-button |
Карта |
scs-map |
scs-map |
Разделитель |
scs-divider |
scs-divider |
Разделитель |
scs-spacer |
scs-spacer |
YouTube |
scs-youtube |
scs-youtube |
Социальная панель |
scs-socialbar |
scs-socialbar |
Видео |
scs-video |
scs-video |
Статья (пользовательский компонент) |
scs-component |
scs-comp-article |
Заголовок (пользовательский компонент) |
scs-component |
scs-comp-headline |
Изображение и текст (пользовательский компонент) |
scs-component |
scs-comp-image-text |
Эти компоненты, визуализированные в встроенных рамках, входят в состав Oracle Content Management. Они не включают зарегистрированные удаленные компоненты.
Имя | Тип | Идентификатор |
---|---|---|
Диалог |
scs-app |
Диалог |
Диспетчер документов |
scs-app |
Диспетчер документов |
Список папок |
scs-app |
Список папок |
Список файлов |
scs-app |
Список файлов |
Кнопка Facebook "Нравится" |
scs-app |
Кнопка Facebook "Нравится" |
Кнопка Facebook "Рекомендовать" |
scs-app |
Кнопка Facebook "Рекомендовать" |
Кнопка Twitter "Подписаться" |
scs-app |
Кнопка Twitter "Подписаться" |
Кнопка Twitter "Поделиться" |
scs-app |
Кнопка Twitter "Поделиться" |
Общий формат
Общий формат файла components.json
:
В каждом компоненте указаны его свойства. Свойства "components"
или "apps"
верхнего уровня устарели.
Каждый компонент имеет свойство "type"
. Компоненты могут иметь только определенные значения (все возможные значения перечислены в таблице компонентов по умолчанию).
Каждый компонент имеет свойство "id"
, которое должно быть уникальным. Это свойство позволяет различать компоненты с одинаковым значением "type"
. Ранее у приложений было свойство "appName"
. Хотя свойство "appName"
продолжает работать, если свойство "id"
недоступно, свойство "appName"
устарело.
Каждый компонент имеет свойство "name"
, которое служит отображаемым именем в пользовательском интерфейсе. Если резервные значения не указаны, для компонентов данное значение — это имя соответствующего компонента по умолчанию, а для удаленных компонентов значение — идентификатор.
Ниже приведен пример файла components.json
:
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", ... }, { ... },... ] }, { "name": "My own category name", "list": [ ... ] } ]
Общая структура представляет собой массив JSON объектов категорий. Каждый объект категории имеет свойства "name"
и "list"
. Свойство "name"
может быть ключом, который сопоставляется локализованной строке. Если категорий по умолчанию недостаточно, можно указать собственное имя категории, которое не будет локализовано. В следующей таблице перечислены доступные категории по умолчанию и соответствующие ключи.
Клавиша | Имя категории (английский язык) |
---|---|
COMP_CONFIG_CONTENT_CATEGORY_NAME |
Контент |
COMP_CONFIG_CUSTOM_CATEGORY_NAME |
Пользовательские |
COMP_CONFIG_MEDIA_CATEGORY_NAME |
Носитель |
COMP_CONFIG_SOCIAL_CATEGORY_NAME |
Соц. сеть |
COMP_CONFIG_TEXT_CATEGORY_NAME |
Текст |
Свойство "list"
в каждом объекте категории содержит массив объектов компонентов. Каждый компонент или объект должен иметь свойства "type"
и "id"
. Другие свойства не обязательны.
Свойство "type"
должно соответствовать одному из типов компонентов по умолчанию. Если свойства "type"
еще нет, компонент не отображается.
Свойство "id"
должно быть уникальным для всех компонентов. Если "id"
уже существует, компонент не будет отображаться.
Свойство "name"
— это отображаемое имя компонента в пользовательском интерфейсе. Это заменяет предыдущее свойство "appName"
для приложений (теперь удаленные компоненты).
Все остальные свойства обрабатываются так же, как и в предыдущих версиях.
Добавление новых компонентов в components.json
Изменять компоненты по умолчанию запрещено. Однако на основе существующего компонента по умолчанию можно создать новый компонент. Например, новый компонент можно создать на основе компонента "scs-title"
, который задает текст по умолчанию. При добавлении нового компонента, как минимум, требуется указать свойства "type"
и "id"
.
Свойство "type"
должно соответствовать одному из типов компонентов по умолчанию. Если свойства "type"
еще нет, компонент не отображается.
Свойство "id"
должно быть уникальным для всех компонентов. Если "id"
уже существует, компонент не будет отображаться.
Ниже приведен пример кода для добавления нового компонента "Заголовок". Этот компонент будет отображаться вместе с компонентом "Заголовок" по умолчанию.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline" } ] } ]
Ниже приведен пример кода для добавления нового компонента "Заголовок" с отображаемым именем и текстом по умолчанию.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", "initialData": { "userText": "This is a second title component" } } ] } ]
Обратите внимание, что компонент "Заголовок" использует все свойства компонента "Заголовок" по умолчанию в качестве основы и применяет изменения на уровне темы для создания нового компонента.
Обратная совместимость
Файлы components.json
в предыдущем формате по-прежнему могут быть прочитаны.
Файлы со свойствами верхнего уровня "components"
или "apps"
.
Если файл содержит свойство "apps"
, пользовательские удаленные компоненты с этим свойством по-прежнему загружаются.
Если файл содержит свойство верхнего уровня "apps"
, предполагается, что все удаленные компоненты, перечисленные ниже, имеют тип "scs-app"
.
Если свойство "appName"
присутствует, задайте свойству "id"
значение "appName"
. Отображаемое имя будет совпадать со значением "name"
, если оно указано, или вернется к значению "id"
.