Κατανόηση του αρχείου και της μορφής components.json

Ένα θέμα πρέπει να έχει ένα αρχείο components.json στη θέση /ThemeName/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" που είναι το εμφανιζόμενο όνομα στο περιβάλλον εργασίας. Αν δεν έχουν καθοριστεί εναλλακτικές τιμές, για τα συστατικά στοιχεία η τιμή είναι το όνομα του αντίστοιχου προεπιλεγμένου συστατικού στοιχείου και για τα απομακρυσμένα συστατικά στοιχεία η τιμή είναι το αναγνωριστικό.

Ακολουθεί ένα παράδειγμα ενός αρχείου 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

Content

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Προσαρμοσμένη

COMP_CONFIG_MEDIA_CATEGORY_NAME

Μέσα

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

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".