Voor elk thema moet het bestand components.json
zich bevinden in het pad /Themanaam/components.json
. Hierin worden de componenten opgegeven die in het thema worden gebruikt.
Dit bestand moet geldige JSON bevatten (minimaal een lege JSON-array []
).
De syntaxis voor het bestand components.json
bevat een lijst met alle lokale componenten en biedt volledige ondersteuning voor het categoriseren van componenten. (Externe componenten worden geregistreerd in de componentcatalogus.)
Ongeacht welke componenten u toevoegt aan het bestand components.json
(inclusief geen componenten), in Oracle Content Management wordt een standaardset gevuld met componenten die beschikbaar zijn voor gebruikers. De standaardset wordt gedefinieerd in de broncode. In de volgende lijst ziet u de componenten en (basis)componenten die in inline-frames worden weergegeven. Ook alle externe componenten die zijn geregistreerd op serviceniveau en beschikbaar zijn gemaakt voor de gebruikers in uw instance zijn beschikbaar in de sitebuilder.
De volgende lokale componenten worden meegeleverd met Oracle Content Management.
Naam | Type | ID |
---|---|---|
Titel |
scs-title |
scs-title |
Alinea |
scs-paragraph |
scs-paragraph |
Afbeelding |
scs-image |
scs-image |
Galerie |
scs-gallery |
scs-gallery |
Galerieraster |
scs-gallerygrid |
scs-gallerygrid |
Document |
scs-document |
scs-document |
Knop |
scs-button |
scs-button |
Kaart |
scs-map |
scs-map |
Divider |
scs-divider |
scs-divider |
Spacer |
scs-spacer |
scs-spacer |
YouTube |
scs-youtube |
scs-youtube |
Sociale balk |
scs-socialbar |
scs-socialbar |
Video |
scs-video |
scs-video |
Artikel (aangepaste component) |
scs-component |
scs-comp-article |
Kop (aangepaste component) |
scs-component |
scs-comp-headline |
Afbeelding en tekst (aangepaste component) |
scs-component |
scs-comp-image-text |
Deze componenten, die worden weergegeven in inline-frames, worden meegeleverd met Oracle Content Management. Geregistreerde externe componenten worden niet meegeleverd.
Naam | Type | ID |
---|---|---|
Gesprek |
scs-app |
Gesprek |
Documentbeheer |
scs-app |
Documentbeheer |
Mappenlijst |
scs-app |
Mappenlijst |
Bestandslijst |
scs-app |
Bestandslijst |
Facebook Like |
scs-app |
Facebook Like |
Facebook Recommend |
scs-app |
Facebook Recommend |
Twitter Follow |
scs-app |
Twitter Follow |
Twitter Share |
scs-app |
Twitter Share |
Algemene indeling
Hieronder vindt u de algemene indeling van het bestand components.json
:
De eigenschappen voor componenten worden opgegeven in elke component. De eigenschappen voor "components"
of "apps"
op het hoogste niveau zijn afgekeurd.
Elke component heeft de eigenschap "type"
. Components kunnen slechts bepaalde waarden hebben (alle mogelijke waarden voor standaardcomponenten worden weergegeven in de tabel).
Elke component heeft de eigenschap "id"
, die uniek moet zijn. Deze eigenschap wordt gebruikt om onderscheid te maken tussen componenten met dezelfde waarde voor "type"
. Eerder hadden apps de eigenschap "appName"
. Hoewel "appName"
nog steeds werkt als de eigenschap "id"
niet beschikbaar is, is de eigenschap "appName"
afgekeurd.
Elke component heeft de eigenschap "name"
. Deze naam is de weergavenaam in de gebruikersinterface. Als er geen fallback-waarden zijn opgegeven, is de waarde voor de component de naam van de bijbehorende standaardcomponent. Voor externe componenten is de waarde de ID.
Hieronder vindt u een voorbeeld van het bestand components.json
:
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", ... }, { ... },... ] }, { "name": "My own category name", "list": [ ... ] } ]
De algemene structuur is een JSON-array van categorieobjecten. Elk categorieobject heeft de eigenschappen "name"
en "list"
. De eigenschap "name"
kan een sleutel zijn die verwijst naar een gelokaliseerde string. Als deze standaardcategorieën onvoldoende zijn, kunt u zelf een categorienaam opgeven. Deze wordt niet gelokaliseerd. De volgende tabel bevat de beschikbare standaardcategorieën en de bijbehorende sleutels.
Sleutel | Categorienaam (Engels) |
---|---|
COMP_CONFIG_CONTENT_CATEGORY_NAME |
Inhoud |
COMP_CONFIG_CUSTOM_CATEGORY_NAME |
Aangepast |
COMP_CONFIG_MEDIA_CATEGORY_NAME |
Media |
COMP_CONFIG_SOCIAL_CATEGORY_NAME |
Sociaal |
COMP_CONFIG_TEXT_CATEGORY_NAME |
Tekst |
De eigenschap "list"
in elk categorieobject bevat een array van componentobjecten. Elke component en elk object moet de eigenschappen "type"
en "id"
hebben. Overige eigenschappen zijn optioneel.
De eigenschap "type"
moet gelijk zijn aan het type van een standaardcomponent. Als het "type"
nog niet bestaat, wordt de component niet weergegeven.
De eigenschap "id"
moet uniek zijn voor elke component. Als de "id"
al bestaat, wordt de component niet weergegeven.
De eigenschap "name"
is de weergavenaam voor de component in de gebruikersinterface. Deze eigenschap vervangt de eerdere eigenschap "appName"
voor apps (nu externe componenten).
Alle overige eigenschappen worden hetzelfde behandeld als in eerdere releases.
Nieuwe componenten toevoegen aan components.json
U mag de standaardcomponenten niet wijzigen. U kunt wel een nieuwe component maken op basis van een bestaande standaardcomponent. U kunt bijvoorbeeld een nieuwe component maken op basis van de component "scs-title"
, waarmee een standaardtekst wordt ingesteld. Om een nieuwe component toe te voegen, moet u minimaal de eigenschappen "type"
en "id"
opgeven.
Het "type"
moet gelijk zijn aan het type van een standaardcomponent. Als het "type"
nog niet bestaat, wordt de component niet weergegeven.
De "id"
moet uniek zijn voor elke component. Als de "id"
al bestaat, wordt de component niet weergegeven.
Hier volgt een voorbeeld van het toevoegen van een nieuwe titelcomponent. Deze component wordt weergegeven in combinatie met de standaardtitelcomponent.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline" } ] } ]
Hier volgt een voorbeeld van het toevoegen van een nieuwe titelcomponent met een weergavenaam en standaardtekst.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", "initialData": { "userText": "This is a second title component" } } ] } ]
Merk op dat in de titelcomponent alle eigenschappen van de standaardtitelcomponent worden overgenomen en daarop wijzigingen op themaniveau worden toegepast om de nieuwe component te maken.
Achterwaarste compatibiliteit
De components.json
-bestanden in de vorige indeling kunnen nog steeds worden gelezen.
Bestanden met de eigenschappen "components"
of "apps"
op het hoogste niveau.
Als het bestand de eigenschap "apps"
bevat, worden externe componenten die door de gebruiker zijn gedefinieerd onder deze eigenschap nog steeds geladen.
Als het bestand de eigenschap "apps"
op het hoogste niveau bevat, wordt aangenomen dat alle externe componenten die eronder worden vermeld, het type "scs-app"
hebben.
Als de eigenschap "appName"
aanwezig is, stelt u "id"
in op de waarde van "appName"
. De weergavenaam wordt ingesteld op de waarde van "name"
, als die is opgegeven, of via fallback ingesteld op de waarde van "id"
.