Aller au contenu principal

Exemples JSON de Studio

Ces documents complets vont dans l'éditeur Source de Studio. Choisissez le document nommé avant de coller. Le remplacement retire ses sections actuelles; ajoutez plutôt les objets aux tableaux existants pour les conserver.

Remplacez les comptes fictifs et le texte anglais avant de publier. Consultez Insérer un composant pour la sauvegarde et l'aperçu.

Un accueil avec les renseignements actuels du club​

Choisissez landing.json. Cet exemple active l'accueil géré et affiche une présentation bilingue, les événements à venir, les matchs en cours et les commanditaires admissibles. Les sections dynamiques utilisent les fiches du club; une section vide peut ne rien afficher.

{
"enabled": true,
"components": [
{
"type": "cio-hero",
"version": 1,
"heading": {"en": "Welcome to our club", "fr": "Bienvenue au club"},
"body": {"en": "Ask us how to get started.", "fr": "Demandez-nous comment commencer."},
"media": null,
"actions": [{"label": {"en": "Contact us", "fr": "Nous joindre"}, "href": "/contact"}]
},
{"type": "cio-recent-events", "version": 1},
{"type": "cio-current-games", "version": 1},
{"type": "cio-sponsors", "version": 1}
]
}

Une inscription à l'infolettre et un profil Instagram​

Choisissez page.json pour ajouter ces éléments sous toutes les pages. Pour cibler le corps d'une seule page, utilisez son éditeur Markdown. Copiez les identifiants Mailchimp du formulaire de votre audience et l'URL du profil Instagram public du club. Le visiteur active chaque fournisseur avant le chargement du contenu distant.

{
"top": [],
"bottom": [
{
"type": "cio-mailchimp-signup",
"version": 1,
"account": "example.us1",
"userId": "0123456789abcdef0123456789abcdef",
"audienceId": "0123456789",
"emailFieldName": "EMAIL",
"nameFields": [{"name": "FNAME", "label": "First name", "required": false}],
"formId": null
},
{
"type": "cio-instagram-profile",
"version": 1,
"profileUrl": "https://www.instagram.com/example.club/"
}
]
}

Une présentation des résultats​

Choisissez results.json. Ce texte apparaît au-dessus des résultats normaux, qui restent gérés par Curling IO.

{
"top": [
{
"type": "cio-text",
"version": 1,
"heading": "Club results",
"body": "Choose a competition to see its published results."
}
],
"bottom": []
}

Les disponibilités de location sur l'accueil​

Choisissez landing.json. Les filtres vides incluent toutes les locations admissibles. Pour limiter la sélection, fournissez vos identifiants positifs, uniques et en ordre croissant, au plus 50 par tableau. Ce composant utilise les mêmes disponibilités que la page publique des locations.

{
"enabled": true,
"components": [
{"type": "cio-rentals", "version": 1, "productIds": [], "resourceIds": []}
]
}

Un menu avec un groupe et des collections dynamiques​

Choisissez navigation.json. Les id identifient les entrées pour les modifications futures; gardez-les uniques dans tout le menu. Utilisez de 1 à 64 lettres minuscules, chiffres, traits de soulignement ou traits d'union. L'ordre du tableau donne l'ordre du menu. Les groupes contiennent des entrées simples, jamais d'autres groupes. label: null utilise le titre traduit habituel.

[
{"type": "route", "id": "home", "route": "home", "label": null},
{
"type": "group",
"id": "club",
"label": {"en": "The club", "fr": "Le club"},
"children": [
{"type": "collection", "id": "pages", "collection": "pages", "label": null},
{"type": "route", "id": "contact", "route": "contact", "label": null}
]
},
{"type": "collection", "id": "news", "collection": "articles", "label": null, "recentLimit": 3},
{"type": "route", "id": "rentals", "route": "rentals", "label": null}
]

Les routes acceptent home, contact, calendar ou rentals. Les collections acceptent pages, articles ou product_types. Seule articles exige recentLimit, de 1 à 8. Le tableau facultatif exclude retire des entrées : utilisez les slugs de types de produits, comme bonspiels, ou le segment d'URL d'une page ou d'un article, comme 3-ice-rental. Utilisez ceux de vos fiches, au plus 24 entrées uniques.

Une entrée record utilise recordType (page, article, product_type ou product_results), un recordId positif, un id unique et un label facultatif. Une entrée external utilise une URL HTTPS complète dans href et un label obligatoire. Le menu accepte au plus 24 entrées racines, 24 entrées par groupe et 64 entrées au total, groupes compris. Les liens vers les fiches respectent leurs règles d'accès et de publication.

Activer le calendrier public​

Choisissez calendar.json. Les réglages d'affichage de l'horaire se font séparément dans Calendrier.

{"enabled": true}

Choisir un thème de plateforme​

Choisissez layout.json. kind accepte platform ou organization; slug identifie un thème disponible. Utilisez le sélecteur de thème pour choisir un thème valide. Le thème par défaut est :

{"kind": "platform", "slug": "io-default"}