A components.json fájl és formátum ismertetése

Egy témának tartalmaznia kell egy components.json fájl, ami a /ThemeName/components.json könyvtárban található, és a témában használt összetevőket adja meg.

A fájlnak érvényes JSON-értéket kell tartalmaznia, és minimális követelmény, hogy a fájl egy üres JSON-tömböt tartalmazzon: [].

A components.json fájl szintaxisa felsorolja az összes helyi összetevőt, és teljes mértékben támogatja az összetevők kategorizálását. (A távoli összetevők az Összetevő-katalógusban vannak regisztrálva.)

Függetlenül attól, hogy milyen összetevők vannak hozzáadva a téma szintű components.json fájlhoz (beleértve a nincs értéket is), az Oracle Content Management a felhasználók számára elérhető alapértelmezett összetevőkészletet tölt fel. Ezt az alapértelmezett készletet a forráskódban határozzák meg. A következő lista az összetevőket és a belső keretekben megjelenített (beépített) összetevőket tartalmazza. Ezenkívül a szolgáltatás szinten regisztrált és az Ön példányában a felhasználók számára elérhetővé tett minden távoli összetevő elérhető lesz a Site Builder alkalmazásban.

Az Oracle Content Management a következő helyi összetevőket tartalmazza.

Név Típus Azonosító

Cím

scs-title

scs-title

Bekezdés

scs-paragragh

scs-paragragh

Kép

scs-image

scs-image

Galéria

scs-gallery

scs-gallery

Galériarács

scs-gallerygrid

scs-gallerygrid

Dokumentum

scs-document

scs-document

Gomb

scs-button

scs-button

Térkép

scs-map

scs-map

Elválasztó

scs-divider

scs-divider

Térköz

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Közösségi sáv

scs-socialbar

scs-socialbar

Videó

scs-video

scs-video

Cikk (egyéni összetevő)

scs-component

scs-comp-article

Főcím (egyéni összetevő)

scs-component

scs-comp-headline

Kép és szöveg (egyéni összetevő)

scs-component

scs-comp-image-text

Ezek a belső keretekben megjelenített összetevők szerepelnek az Oracle Content Management szolgáltatásban. A regisztrált távoli összetevők viszont nem szerepelnek ott.

Név Típus Azonosító

Beszélgetés

scs-app

Beszélgetés

Dokumentumkezelő

scs-app

Dokumentumkezelő

Mappalista

scs-app

Mappalista

Fájllista

scs-app

Fájllista

Facebook tetszésnyilvánítás

scs-app

Facebook tetszésnyilvánítás

Facebook ajánlat

scs-app

Facebook ajánlat

Twitter-követés

scs-app

Twitter-követés

Megosztás a Twitteren

scs-app

Megosztás a Twitteren

Általános formátum

A components.json fájl általános formátuma a következő:

  • Az összetevők tulajdonságai az egyes összetevőkben vannak megadva. A legfelső szintű "components" vagy "apps" tulajdonságok már elavultak.

  • Minden egyes összetevő egy "type" tulajdonsággal rendelkezik. Az összetevők csak bizonyos értékeket tartalmazhatnak ( az összes lehetséges értéket az alapértelmezett összetevők számára készült táblázat tartalmazza).

  • Minden egyes összetevő egy "id" tulajdonsággal rendelkezik, amelynek egyedinek kell lennie. Ez a tulajdonság az azonos "type" tulajdonsággal rendelkező összetevők megkülönböztetésére szolgál. Korábban az alkalmazások az "appName" tulajdonsággal rendelkeztek. Miközben az "appName" még akkor is működik, ha az "id" tulajdonság nem áll rendelkezésre, az "appName" tulajdonság már elavult.

  • Minden egyes összetevő egy "name" tulajdonsággal rendelkezik, amely a felhasználói felületen megjelenített név. Ha a visszalépési értékek nincsenek megadva, akkor az összetevők esetében a megfelelő alapértelmezett összetevő neve az érték, távoli összetevők esetében pedig az azonosító.

Íme egy példa a components.json fájlra:

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                ...
            },
            {
                ...
            },...
        ]
    },
    {
        "name": "My own category name",
        "list": [ ... ]
    }
]

Az általános struktúra a kategóriaobjektumok JSON-tömbje. Minden egyes kategóriaobjektum rendelkezik egy "name" és egy "list" tulajdonsággal. A "name" tulajdonság lehet egy olyan kulcs, amely egy honosított karakterláncra képeződik le. Ha ezek az alapértelmezett kategóriák nem elegendőek, megadhat egy saját kategórianevet is, amely nem lesz honosítva. A következő táblázat a rendelkezésre álló alapértelmezett kategóriákat és a megfelelő kulcsokat sorolja fel.

Kulcs Kategórianév (angol)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Tartalom

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Egyéni

COMP_CONFIG_MEDIA_CATEGORY_NAME

Média

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Közösségi

COMP_CONFIG_TEXT_CATEGORY_NAME

Szöveg

Az egyes kategóriaobjektumok "list" tulajdonsága egy összetevő-objektumokból álló tömböt tartalmaz. Minden egyes összetevőnek vagy objektumnak rendelkeznie kell "type" és "id" tulajdonsággal. A többi tulajdonság nem kötelező.

  • A "type" tulajdonságnak meg kell egyeznie az alapértelmezett összetevőkben található típusok egyikével. Ha a "type" még nem létezik, akkor az összetevő nem jelenik meg.

  • Az "id" tulajdonságnak az összes összetevőben egyedinek kell lennie. Ha az "type" már létezik, akkor az összetevő nem jelenik meg.

  • A "name" tulajdonság az összetevő felhasználói felületen megjelenített neve. Ez helyettesíti az alkalmazások (most távoli összetevők) "appName" tulajdonságát.

  • Az összes többi tulajdonság kezelése ugyanúgy történik, mint a korábbi kiadásokban.

Új összetevők hozzáadása a components.json fájlhoz

Az alapértelmezett összetevőket nem módosíthatja. Azonban egy meglévő alapértelmezett összetevő alapján új összetevőt hozhat létre. Például létrehozhat egy új összetevőt az "scs-title" összetevő alapján, amely bizonyos alapértelmezett szöveget állít be. Legalább azért kell hozzáadni egy új összetevőt, hogy megadhassa a "type" és az "id" tulajdonságot.

  • A "type" tulajdonságnak meg kell egyeznie az alapértelmezett összetevőkben található típusok egyikével. Ha a "type" még nem létezik, akkor az összetevő nem jelenik meg.

  • Az "id" tulajdonságnak az összes összetevőben egyedinek kell lennie. Ha az "type" már létezik, akkor az összetevő nem jelenik meg.

Íme egy példa egy új Cím összetevő hozzáadásához használt kódra. Ez az összetevő az alapértelmezett cím összetevővel együtt fog megjelenni.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline"
            }
        ]
    }
]

Íme egy példa egy új Cím összetevő hozzáadásához használt kódra, amely tartalmazza a megjelenített nevet és az alapértelmezett szöveget is.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                "initialData": {
                    "userText": "This is a second title component"
                }
            }
        ]
    }
]

Vegye figyelembe, hogy a cím összetevő az alapértelmezett Cím összetevő összes tulajdonságát alapul veszi, és a téma szintű módosításokat alkalmazza annak a tetején, hogy létrehozza az új összetevőt.

Visszamenőleges kompatibilitás

Az előző formátumban lévő components.json fájlok még mindig olvashatók.

  • Legfelső szintű "components" vagy "apps" tulajdonságokat tartalmazó fájlok.

  • Ha a fájl "apps" tulajdonságot tartalmaz, akkor az adott tulajdonság alatt lévő, felhasználó által definiált távoli összetevők továbbra is betöltődnek.

  • Ha a fájl legfelső szintű "apps" tulajdonságot tartalmaz, akkor feltételezzük, hogy az alatta felsorolt távoli összetevők mindegyike tartalmazza az "scs-app" típust.

  • Ha az "appName" tulajdonság szerepel, állítsa be az "id" tulajdonságot az "appName" értékére. A megjelenített név megegyezik a "name" értékével, ha meg van adva, vagy visszaáll az "id" értékére.