O temă trebuie să aibă un fişier components.json
în directorul /ThemeName/components.json
, acesta specificând componentele utilizate în cadrul temei.
Acest fişier trebuie să conţină date JSON valide, iar ca minimum de informaţii trebuie să conţină o matrice JSON goală []
.
Sintaxa fişierului components.json
listează toate componentele locale şi acceptă pe deplin clasificarea componentelor. (Componentele la distanţă sunt înregistrate în catalogul de componente.)
Indiferent ce componente sunt adăugate la fişierul components.json
de la nivelul temei (inclusiv niciuna), Oracle Content Management va popula un set prestabilit de componente care va fi disponibil utilizatorilor. Acest set prestabilit este definit în codul sursă. Următoarea listă afişează componentele şi componentele predefinite randate în cadre inline. De asemenea, componentele la distanţă înregistrate la nivelul de serviciu şi puse la dispoziţia utilizatorilor din instanţa dvs. vor fi disponibile în generatorul de site-uri.
Următoarele componente locale sunt incluse cu Oracle Content Management.
Nume | Tip | ID |
---|---|---|
Titlu |
scs-title |
scs-title |
Paragraf |
scs-paragragh |
scs-paragragh |
Imagine |
scs-image |
scs-image |
Galerie |
scs-gallery |
scs-gallery |
Galerie de tip grilă |
scs-gallerygrid |
scs-gallerygrid |
Document |
scs-document |
scs-document |
Buton |
scs-button |
scs-button |
Hartă |
scs-map |
scs-map |
Separator |
scs-divider |
scs-divider |
Spaţiator |
scs-spacer |
scs-spacer |
YouTube |
scs-youtube |
scs-youtube |
Bara Social media |
scs-socialbar |
scs-socialbar |
Fişiere video |
scs-video |
scs-video |
Articol (componentă personalizată) |
scs-component |
scs-comp-article |
Titlu (componentă personalizată) |
scs-component |
scs-comp-headline |
Imagine şi text (componentă personalizată) |
scs-component |
scs-comp-image-text |
Aceste componente, randate în cadre inline, sunt incluse cu Oracle Content Management. Nu includ componente la distanţă înregistrate.
Nume | Tip | ID |
---|---|---|
Conversaţie |
scs-app |
Conversaţie |
Managerul de documente |
scs-app |
Managerul de documente |
Listă de foldere |
scs-app |
Listă de foldere |
Listă de fişiere |
scs-app |
Listă de fişiere |
Like pe Facebook |
scs-app |
Like pe Facebook |
Recomandare pe Facebook |
scs-app |
Recomandare pe Facebook |
Abonare pe Twitter |
scs-app |
Abonare pe Twitter |
Partajare pe Twitter |
scs-app |
Partajare pe Twitter |
Format general
Formatul general al fişierului components.json
este următorul:
Proprietăţile componentelor sunt specificate în cadrul fiecărei componente. Proprietăţile de nivel superior "components"
sau "apps"
sunt perimate.
Fiecare componentă are o proprietate "type"
. Componentele pot avea doar anumite valori (toate valorile posibile sunt listate în tabelul pentru componentele prestabilite).
Fiecare componentă are o proprietate "id"
, care trebuie să fie unică. Această proprietate este utilizată pentru a face distincţia între componentele cu aceeaşi proprietate "type"
. Anterior, aplicaţiile aveau proprietatea "appName"
. Deşi proprietatea "appName"
funcţionează în continuare, dacă proprietatea "id"
nu este disponibilă, proprietatea "appName"
este perimată.
Fiecare componentă are o proprietate "name"
care reprezintă numele afişat în interfaţa de utilizare. Dacă nu se specifică valori de rezervă, pentru componente valoarea o reprezintă numele componentei prestabilite corespondente, iar pentru componentele la distanţă valoarea o reprezintă identificatorul.
În continuare puteţi vedea un exemplu de fişier components.json
:
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", ... }, { ... },... ] }, { "name": "My own category name", "list": [ ... ] } ]
Structura generală este o matrice JSON cu obiecte de categorii. Fiecare obiect de categorie are o proprietate "name"
şi o propritatate "list"
. Proprietatea "name"
poate reprezenta o cheie mapată la un şir localizat. Dacă aceste categorii prestabilite nu sunt suficiente, puteţi furniza propriul nume de categorie, care nu va fi localizat. Următorul tabel listează categoriile prestabilite disponibile şi cheile corespondente.
Cheie | Nume categorie (în limba engleză) |
---|---|
COMP_CONFIG_CONTENT_CATEGORY_NAME |
Conţinut |
COMP_CONFIG_CUSTOM_CATEGORY_NAME |
Personalizat |
COMP_CONFIG_MEDIA_CATEGORY_NAME |
Suport media |
COMP_CONFIG_SOCIAL_CATEGORY_NAME |
Social |
COMP_CONFIG_TEXT_CATEGORY_NAME |
Text |
Proprietatea "list"
din fiecare obiect de categorie conţine o matrice de obiecte de componente. Fiecare componentă sau obiect trebuie să aibă proprietăţile "type"
şi "id"
. Celelalte proprietăţi sunt opţionale.
Proprietatea "type"
trebuie să corespundă unuia dintre tipurile găsite în componentele prestabilite. Dacă proprietatea "type"
nu există deja, componenta nu va fi afişată.
Proprietatea "id"
trebuie să fie unică între toate componentele. Dacă se constată că proprietatea "id"
există deja, componenta nu va fi afişată.
Proprietatea "name"
reprezintă numele afişat al componentei în interfaţa de utilizare. Aceasta înlocuieşte proprietatea anterioară "appName"
pentru aplicaţii (denumite acum componente la distanţă).
Toate celelalte proprietăţi sunt tratate la fel ca în versiunile anterioare.
Adăugarea de componente noi la fişierul components.json
Nu aveţi permisiunea să modificaţi componentele prestabilite. Însă puteţi crea o componentă nouă pe baza unei componente prestabilite existente. De exemplu, puteţi crea o componentă nouă pe baza componentei "scs-title"
, care permite definirea unui text prestabilit. Pentru a adăuga o componentă nouă, este suficient să specificaţi proprietăţile "type"
şi "id"
.
Proprietatea "type"
trebuie să corespundă unuia dintre tipurile găsite în componentele prestabilite. Dacă proprietatea "type"
nu există deja, componenta nu va fi afişată.
Proprietatea "id"
trebuie să fie unică între toate componentele. Dacă se constată că proprietatea "id"
există deja, componenta nu va fi afişată.
În continuare puteţi vedea un exemplu de cod pentru adăugarea unei noi componente Titlu. Această componentă se va afişa împreună cu componenta de titlu prestabilită.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline" } ] } ]
În continuare puteţi vedea un exemplu de cod pentru adăugarea unei noi componente Titlu, cu un nume afişat şi text prestabilit.
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", "initialData": { "userText": "This is a second title component" } } ] } ]
Reţineţi: componenta pentru titlu preia toate proprietăţile componentei Titlu prestabilite, apoi se aplică modificări la nivelul temei pentru crearea noii componente.
Compatibilitatea cu versiunile anterioare
Fişierele components.json
în formatul anterior pot fi citite în continuare.
Fişiere cu proprietăţi "components"
sau "apps"
de nivel superior.
Dacă fişierul conţine o proprietate "apps"
, componentele la distanţă definite de utilizator din cadrul acestei proprietăţi vor fi încărcate în continuare.
Dacă fişierul conţine o proprietate "apps"
de nivel superior, probabil că orice componente la distanţă listate sub aceasta vor avea tipul "scs-app"
.
Dacă există proprietatea "appName"
, setaţi proprietatea "id"
la valoarea proprietăţii "appName"
. Numele afişat va corespunde cu proprietatea "name"
, dacă este specificată, sau va prelua valoarea de rezervă, cea a proprietăţii "id"
.