components.json Dosyasını ve Formatını Anlama

Bir temada, /ThemeName/components.json konumunda yer alan ve temada kullanılan bileşenleri belirleyen bir components.json dosyası olmalıdır.

Bu dosya geçerli JSON içermelidir ve dosyanın içermesi gereken minimum, boş bir JSON dizesidir [].

components.json dosya sözdizimi tüm yerel bileşenleri listeler ve bileşenlerin kategorilere ayrılmasını tam olarak destekler. (Uzak bileşenler Bileşen Kataloğuna kaydedilir.)

Tema düzeyi components.json dosyasına eklenen bileşenler fark etmeksizin (hiçbirinin eklenmemesi dahil), Oracle Content Management kullanıcılara sunulan bir bileşen grubu öndeğeri doldurur. Bu grup öndeğeri kaynak kodunda tanımlanır. Aşağıdaki liste, bileşenleri ve satır içi çerçevelerde görüntülenen (temel verili) bileşenleri gösterir. Buna ek olarak, hizmet düzeyinde kaydedilmiş ve anınızda kullanıcılara sunulmuş tüm uzak bileşenler Site Oluşturucuda kullanılabilir.

Aşağıdaki yerel bileşenler, Oracle Content Management uygulamasına dahildir.

Ad Tip No

Başlık

scs-title

scs-title

Paragraf

scs-paragragh

scs-paragragh

Resim

scs-image

scs-image

Galeri

scs-gallery

scs-gallery

Galeri Kılavuzu

scs-gallerygrid

scs-gallerygrid

Doküman

scs-document

scs-document

Düğme

scs-button

scs-button

Eşleme

scs-map

scs-map

Bölücü

scs-divider

scs-divider

Boşluk Öğesi

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Sosyal Ağ Çubuğu

scs-socialbar

scs-socialbar

Video

scs-video

scs-video

Makale (özel bileşen)

scs-component

scs-comp-article

Başlık (özel bileşen)

scs-component

scs-comp-headline

Resim ve Metin (özel bileşen)

scs-component

scs-comp-image-text

Satır içi çerçevelerde görüntülenen bu bileşenler Oracle Content Management uygulamasına dahildir. Kayıtlı uzak bileşenler bunlara dahildir.

Ad Tip No

Konuşma

scs-app

Konuşma

Doküman İdarecisi

scs-app

Doküman İdarecisi

Klasör Listesi

scs-app

Klasör Listesi

Dosya Listesi

scs-app

Dosya Listesi

Facebook'ta Beğenme

scs-app

Facebook'ta Beğenme

Facebook Önerisi

scs-app

Facebook Önerisi

Twitter Takibi

scs-app

Twitter Takibi

Twitter Paylaşımı

scs-app

Twitter Paylaşımı

Genel Format

components.json dosyasının genel formatı:

  • Bileşenler için her bir bileşende belirtilen nitelikler. Üst düzey "components" veya "apps" nitelikleri kullanımdan kaldırıldı.

  • Her bileşende bir "type" niteliği vardır. Bileşenlerin sadece belirli değerleri olabilir (tüm olası değerler, bileşen öndeğerlerine yönelik tabloda listelenir).

  • Her bileşende bir "id" niteliği vardır ve bu benzersiz olmalıdır. Bu nitelik, aynı "type" niteliğine sahip bileşenler arasında ayrım yapmak için kullanılır. Daha önce uygulamalarda "appName" niteliği vardı. "appName", "id" niteliği kullanılamadığında çalışmaya devam ediyor olsa da, "appName" niteliği kullanımdan kaldırıldı.

  • Her bileşende, kullanıcı arayüzündeki görünen ad olan bir "name" niteliği vardır. Yedek değerler belirtilmezse bileşenler için değer, ilgili bileşen öndeğerinin adı olur ve uzak bileşenler için No olur.

components.json dosyasına bir örnek:

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

Genel yapı, kategori nesnelerinin bir JSON dizisidir. Her kategori nesnesinde bir "name" niteliği ve "list" niteliği vardır. "name" niteliği, yerelleştirilmiş Dizeye eşlenen bir anahtar olabilir. Bu kategori öndeğerleri yeterli olmazsa kendi kategori adınızı sağlayabilirsiniz (yerelleştirilmez). Aşağıdaki tabloda kategori öndeğerleri ve ilgili anahtarlar listelenir.

Anahtar Kategori Adı (İngilizce)

COMP_CONFIG_CONTENT_CATEGORY_NAME

İçerik

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Özel

COMP_CONFIG_MEDIA_CATEGORY_NAME

Ortam

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Sosyal Ağ

COMP_CONFIG_TEXT_CATEGORY_NAME

Metin

Her kategori nesnesindeki "list" niteliği, bileşen nesnelerinin bir dizisini içerir. Her bileşende veya nesnede "type" ve "id" nitelikleri olmalıdır. Diğer nitelikler isteğe bağlıdır.

  • "type" niteliği, bileşen öndeğerlerinde bulunan tiplerden birine eşit olmalıdır. "type" mevcut değilse bileşen görüntülenmez.

  • "id" niteliği bileşenler genelinde benzersiz olmalıdır. "type" zaten mevcutsa bileşen görüntülenmez.

  • "name" niteliği, bileşenin kullanıcı arayüzündeki görünen adıdır. Bu, uygulamalar (şimdiki adıyla uzak bileşenler) için önceki "appName" niteliğinin yerine geçer.

  • Tüm diğer niteliklere önceki sürümlerdekiyle aynı davranılır.

components.json Dosyasına Yeni Bileşenler Ekleme

Bileşen öndeğerlerini değiştirme izniniz yoktur. Ancak, mevcut bir bileşen öndeğerine dayalı yeni bir bileşen oluşturabilirsiniz. Örneğin, metin öndeğeri belirleyen "scs-title" bileşenine dayalı yeni bir bileşen oluşturabilirsiniz. Yeni bir bileşen eklemenin minimum gereksinimi "type" ve "id" niteliklerini belirlemektir.

  • "type", bileşen öndeğerlerinde bulunan tiplerden birine eşit olmalıdır. "type" mevcut değilse bileşen görüntülenmez.

  • "id" bileşenler genelinde benzersiz olmalıdır. "type" zaten mevcutsa bileşen görüntülenmez.

Aşağıda yeni bir Başlık bileşeni ekleyen koda örnek verilmiştir. Bu bileşen, başlık bileşeni öndeğeriyle birlikte görüntülenir.

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

Aşağıda, görünen ad ve metin öndeğeriyle yeni bir Başlık bileşeni ekleyen koda örnek verilmiştir.

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

Başlık bileşeninin, Başlık bileşeni öndeğerinin tüm niteliklerini temel aldığını ve yeni bileşeni oluşturmak için bunun üzerine tema düzeyi değişikliklerini uyguladığını unutmayın.

Geriye Dönük Uyumluluk

Önceki formattaki components.json dosyaları halen okunabilir.

  • Üst düzey "components" veya "apps" niteliklerini içeren dosyalar.

  • Dosyada bir "apps" niteliği varsa bu niteliğin altındaki kullanıcı tanımlı uzak bileşenler yine de yüklenir.

  • Dosyada bir üst düzey "apps" niteliği varsa altında listelenen tüm uzak bileşenlerin "scs-app" tipinde olduğunu varsayın.

  • "appName" niteliği mevcutsa "id" niteliğini "appName" değerine ayarlayın. Görünen ad belirtilirse "name" ile aynı olur veya "id" değerine döner.