테마에는 사용된 구성요소를 지정하는 /ThemeName/components.json
에 위치한 components.json
파일이 있어야 합니다.
이 파일은 적합한 JSON을 포함해야 하며 최소한 파일에는 빈 JSON 배열 []
이 포함되어야 합니다.
components.json
파일 구문은 모든 로컬 구성요소를 나열하며 구성요소 범주화를 완전히 지원합니다. (원격 구성요소는 구성요소 카탈로그에 등록됩니다.)
어떤 구성요소가 테마 레벨 components.json
파일에 추가되든지(없음 포함), Oracle Content Management는 사용자에게 제공되는 기본 구성요소 집합을 채웁니다. 이 기본 집합은 소스 코드에 정의됩니다. 다음 목록은 인라인 프레임으로 렌더링된 구성요소 및 시드된 구성요소를 보여줍니다. 또한 서비스 레벨에 등록되어 인스턴스의 사용자에게 제공되는 원격 구성요소는 사이트 작성기에서 사용할 수 있습니다.
다음 로컬 구성요소는 Oracle Content Management에 포함되어 있습니다.
이름 | 유형 | ID |
---|---|---|
제목 |
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에 포함되어 있습니다. 등록된 원격 구성요소는 포함되지 않습니다.
이름 | 유형 | ID |
---|---|---|
대화 |
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"
속성이 있습니다. 폴백 값이 지정되지 않은 경우, 구성요소의 경우 값은 해당하는 기본 구성요소의 이름이고 원격 구성요소의 경우 값은 ID입니다.
다음은 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"
값으로 폴백됩니다.