Ett tema måste ha filen components.json
placerad i /ThemeName/components.json
, som specificerar de komponenter som används i temat.
Den här filen måste innehålla giltig JSON, och filen måste minst innehålla en tom JSON-uppställning []
.
Syntaxen i filen components.json
listar alla lokala komponenter och har fullt stöd för kategorisering av komponenter. (Fjärrkomponenter registreras i komponentkatalogen.)
Oavsett vilka komponenter som läggs till i temanivåfilen components.json
(inklusive inga), fyller Oracle Content Management i en standarduppsättning komponenter som är tillgängliga för användare. Den här standarduppsättningen definieras i källkoden. Följande lista visar komponenter och (fördefinierade) komponenter som återges i iframes. Dessutom blir alla fjärrkomponenter som registrerats på tjänstenivå och gjorts tillgängliga för användare i instansen tillgängliga i webbplatsverktyget.
Följande komponenter inkluderas i Oracle Content Management.
Namn | Typ | Id |
---|---|---|
Titel |
scs-title |
scs-title |
Stycke |
scs-paragragh |
scs-paragragh |
Bild |
scs-image |
scs-image |
Galleri |
scs-gallery |
scs-gallery |
Gallerirutnät |
scs-gallerygrid |
scs-gallerygrid |
Dokument |
scs-document |
scs-document |
Knapp |
scs-button |
scs-button |
Karta |
scs-map |
scs-map |
Avdelare |
scs-divider |
scs-divider |
Mellanrum |
scs-spacer |
scs-spacer |
YouTube |
scs-youtube |
scs-youtube |
Socialfält |
scs-socialbar |
scs-socialbar |
Video |
scs-video |
scs-video |
Inlägg (anpassad komponent) |
scs-component |
scs-comp-article |
Rubrik (anpassad komponent) |
scs-component |
scs-comp-headline |
Bild och text (anpassad komponent) |
scs-component |
scs-comp-image-text |
Dessa komponenter, som återges i iframes, inkluderas i Oracle Content Management. De inkluderar inte registrerade fjärrkomponenter.
Namn | Typ | Id |
---|---|---|
Konversation |
scs-app |
Konversation |
Dokumenthanterare |
scs-app |
Dokumenthanterare |
Mapplista |
scs-app |
Mapplista |
Fillista |
scs-app |
Fillista |
Gillamarkering på Facebook |
scs-app |
Gillamarkering på Facebook |
Facebook-rekommendationer |
scs-app |
Facebook-rekommendationer |
Twitter-följning |
scs-app |
Twitter-följning |
Twitter-delning |
scs-app |
Twitter-delning |
Allmänt format
Filen components.json
har följande allmänna format:
Egenskaper för komponenter anges i varje komponent. "components"
- eller "apps"
-egenskaper på toppnivå är inaktuella.
Varje komponent har egenskapen "type"
. Komponenter kan bara ha vissa värden (alla möjliga värden listas i tabellen för standardkomponenter).
Varje komponent har egenskapen "id"
, som måste vara unik. Den här egenskapen används för att skilja mellan komponenter med samma "type"
. Tidigare hade appar egenskapen "appName"
. "appName"
fungerar fortfarande om egenskapen "id"
inte är tillgänglig, men egenskapen "appName"
är inaktuell.
Varje komponent har en "name"
-egenskap, som är visningsnamnet i användargränssnittet. Om reservvärden inte anges är värdet för komponenter namnet på motsvarande standardkomponent och för fjärrkomponenter är värdet id:t.
Här är ett exempel på filen components.json
:
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", ... }, { ... },... ] }, { "name": "My own category name", "list": [ ... ] } ]
Den allmänna strukturen är en JSON-uppställning med kategoriobjekt. Varje kategoriobjekt har en "name"
-egenskap och "list"
-egenskap. Egenskapen "name"
kan vara en nyckel som mappas till en språkanpassad sträng. Om dessa standardkategorier inte är tillräckliga kan du ange ett eget kategorinamn, som inte språkanpassas. I följande tabell listas tillgängliga standardkategorier och motsvarande nycklar.
Nyckel | Kategorinamn (engelska) |
---|---|
COMP_CONFIG_CONTENT_CATEGORY_NAME |
Content |
COMP_CONFIG_CUSTOM_CATEGORY_NAME |
Custom |
COMP_CONFIG_MEDIA_CATEGORY_NAME |
Media |
COMP_CONFIG_SOCIAL_CATEGORY_NAME |
Social |
COMP_CONFIG_TEXT_CATEGORY_NAME |
Text |
Egenskapen "list"
i varje kategoriobjekt innehåller en uppställning med komponentobjekt. Varje komponent eller objekt måste ha egenskaperna "type"
och "id"
. Övriga egenskaper är valfria.
Egenskapen "type"
måste vara lika med någon av typerna i standardkomponenterna. Om "type"
inte redan finns visas inte komponenten.
Egenskapen "id"
måste vara unik bland komponenter. Om det visar sig att "id"
redan finns visas inte komponenten.
Egenskapen "name"
är visningsnamnet för komponenten i användargränssnittet. Den ersätter den tidigare egenskapen "appName"
för appar (nu fjärrkomponenter).
Alla andra egenskaper behandlas på samma sätt som i tidigare utgåvor.
Lägg till nya komponenter i components.json
Du får inte ändra standardkomponenterna. Däremot kan du skapa en ny komponent baserat på en befintlig standardkomponent. Du skulle till exempel kunna skapa en ny komponent baserat på komponenten "scs-title"
, som anger någon standardtext. Det minimum som krävs för att lägga till en ny komponent är att ange egenskaperna "type"
och "id"
.
"type"
måste vara lika med någon av typerna i standardkomponenterna. Om "type"
inte redan finns visas inte komponenten.
"id"
måste vara unikt bland komponenter. Om det visar sig att "id"
redan finns visas inte komponenten.
Här är ett exempel på kod för att lägga till en ny titelkomponent. Den här komponenten visas tillsammans med standardtitelkomponenten.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline" } ] } ]
Här är ett exempel på kod för att lägga till en ny titelkomponent med ett visningsnamn och standardtext.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", "initialData": { "userText": "This is a second title component" } } ] } ]
Observera att titelkomponenten tar alla egenskaper från standardtitelkomponenten som bas och tillämpar ändringar på temanivå ovanpå dem för att skapa den nya komponenten.
Bakåtkompatibilitet
components.json
-filer i det tidigare formatet kan fortfarande läsas.
Filer med "components"
- eller "apps"
-egenskaper på toppnivå.
Om filen innehåller en "apps"
-egenskap laddas ändå användardefinierade fjärrkomponenter under den här egenskapen.
Om filen innehåller en "apps"
-egenskap på toppnivå ska du anta att alla fjärrkomponenter som listas nedanför har typen "scs-app"
.
Om egenskapen "appName"
finns ska du ange värdet "appName"
för "id"
. Visningsnamnet blir detsamma som "name"
, om det har specificerats, eller så används reservvärdet "id"
.