A theme.json leíró
A téma leírójának mezői és szabályai: azonosító, név, verzió, tokenek, paletta, sötét paletta, a kereskedő által állítható beállítások, engedett blokkok, alap kezdőlap.
Frissítve: 2026. október 6.
A csomag gyökerében lévő theme.json mondja meg a platformnak, mi a téma neve és verziója, milyen alapértékekkel induljon az arculat, mit állíthat a kereskedő, és milyen kezdőlap-blokkokat kínál. Ismeretlen mezőt a feltöltés hibaként jelez, ezért csak az itt felsoroltak használhatók.
Mezők
| Mező | Kötelező | Szabály |
|---|---|---|
| id | igen | Kisbetű, szám, kötőjel, betűvel kezdődik, 2–41 karakter. Feltöltéskor a bolt saját azonosítót kap; a tiéd forrás-azonosítóként marad meg, letöltésnél visszakapod. |
| name | igen | 1–60 karakter; ez jelenik meg a témagalériában. |
| version | igen | x.y.z alak (számok). |
| kind | nem | general vagy custom. Beépített témáknál számít; feltöltött téma mindig csak a feltöltő boltban választható. |
| audience, description, license | nem | Szöveg, legfeljebb 600 karakter. Kinek ajánlott, mit tud, felhasználási feltétel. |
| changelog | nem | Legfeljebb 100 bejegyzés: version (x.y.z), date (ÉÉÉÉ-HH-NN, elhagyható), notes (legfeljebb 600 karakter). Más kulcs nem lehet benne. |
| tokens | igen | Az arculat alapértékei (lent). |
| palette | igen | A téma semleges színei (lent). |
| palette_dark | nem | Sötét paletta ugyanazokkal a kulcsokkal; megléte kapcsolja be a színmód-választást. |
| settings | igen (lehet üres objektum) | A téma saját, kereskedő által állítható beállításai, legfeljebb 60. |
| sections | igen | A kezdőlapon engedett platform-blokktípusok listája (létező típusok). |
| pages | nem | pages.home: az alap kezdőlap blokkjai, legfeljebb 24. |
| format, layout, custom_sections | nem | Belső használatú; a custom_sections mezőt a feltöltés a saját blokkjaid schema-leírójából maga tölti ki, kézzel nem kell. |
tokens – az arculat alapértékei
Ezeket a kereskedő a Megjelenés oldalon átírhatja; a theme.json az induló értéket adja. Kötelező: primary, secondary, font, heading_font, radius.
| Kulcs | Érték |
|---|---|
| primary, secondary | #rrggbb színkód (fő kiemelőszín: gombok, linkek; másodlagos: sávok, kiemelt felületek). |
| font, heading_font | Betűkulcs a listából: system, humanist, geometric, serif, didone, rounded, barlow, barlow-condensed, jost, bodoni, figtree, bricolage, fraunces, manrope, cormorant, instrument-serif, playfair, poppins. Csak saját kiszolgálású betűk – külső betűszolgáltató nincs. |
| radius | none, small, medium, large vagy pill. |
| radius_card, radius_control | 0–100 egész (%) vagy null: finomhangolás a profil felett (kártya 100 % = 32 px; vezérlő 100 % = kapszula). |
| logo_url | null, vagy a csomag saját képe: assets/valami.svg (png, webp, jpg). A fájlnak a csomagban kell lennie. |
| color_scheme | light, dark, system vagy toggle – csak palette_dark mellett van hatása. |
palette és palette_dark
Mind a hat kulcs kötelező, #rrggbb formában, más kulcs nem lehet: background, surface, text, muted, border, sale. A kereskedő ezeket nem állítja; a téma hangulatát (világos, sötét, krém) ezek adják. A platform ezekből készíti a CSS-változókat (lásd a CSS-szabályok cikket).
Ha palette_dark is van, a kereskedő választhat színmódot (csak világos, csak sötét, a látogató rendszere szerint, vagy a látogató kapcsolhatja). Az utolsóhoz a témának ki kell tennie a fejlécben a color_scheme platform-helyet – ha a palette_dark megvan, de a hely sehol nincs a sablonokban, a feltöltés hibát ad.
settings – amit a kereskedő állíthat
Kulcs → mezőleírás; a sablonokban a settings.kulcs néven éred el. A mezőnév kisbetűvel kezdődik, kisbetű, szám és aláhúzás lehet benne (legfeljebb 41 karakter). Minden mezőnek kell label (1–160 karakter); a default értéket a rendszer a mező szabálya szerint ellenőrzi.
| kind | Kötelező tulajdonság | Érték |
|---|---|---|
| text | label, max (1–2000) | egysoros szöveg |
| textarea | label, max (1–2000) | többsoros szöveg |
| number | label, min, max (egész, min ≤ max) | egész szám |
| select | label, options ({érték: felirat}, nem üres) | az egyik kulcs |
| toggle | label | igen/nem |
| path | label | bolton belüli útvonal (/-rel kezdődik, legfeljebb 200 karakter) |
| handle | label | termék- vagy kategória-azonosító |
Példa:
"settings": {
"columns": { "kind": "select", "label": "Termékek egy sorban", "options": { "3": "3", "4": "4" }, "default": "4" },
"sticky_header": { "kind": "toggle", "label": "Ragadó fejléc", "default": true }
}
A saját blokkjaid (sections/x-….liquid) mezőinél ezeken felül image (a bolt médiatárából) és list (max 1–24, item: egyszerű mezők, képpel) is lehet – részletek a sablonnyelv cikkben.
sections és pages.home
A sections lista mondja meg, mely platform-blokkokat teheti a kereskedő a kezdőlapra (és a saját oldalaira). Létező típusok: hero, hero-slider, featured-products, category-grid, text-image, testimonials, faq, newsletter, promo-tiles, trust-strip, lookbook, quote, product-hero, figures, steps, spec-list, closing-cta, gallery, brands, countdown, product-spotlight, reviews, contact, rich-text, image, contact-form. A latest-posts, buttons és columns platform-blokk minden témában elérhető, nem kell felsorolni.
A pages.home az alap kezdőlap: ezt kapja az új bolt, és ezt mutatja a témaválasztó. Blokkonként id (egyedi), type (a sections listából vagy saját x- blokk), settings, és elhagyhatóan demo: true (mintatartalom, élesben csak átírva jelenik meg) és visibility. Legfeljebb 24 blokk. A szövegekben a {shop} a bolt nevére cserélődik.
Példa:
"pages": { "home": [
{ "id": "nyito", "type": "hero", "settings": { "heading": "{shop}", "subheading": "Írd ide a bolt egymondatos bemutatkozását.", "cta_label": "Termékek", "cta_href": "/search", "image_url": null, "variant": "centered" } },
{ "id": "ujdonsagok", "type": "featured-products", "settings": { "heading": "Újdonságok", "count": 8, "source": "newest" } }
] }