Aller au contenu principal

Introduction

Créez des blocs de contenu réutilisables qui peuvent être utilisés sur plusieurs pages.

🎯 Que fait ce module ?

Le module Blocks vous permet d'utiliser des composants de contenu réutilisables (blocs) qui contiennent des ensembles d'attributs et peuvent être utilisés sur plusieurs pages et pages de produits - comme des en-têtes, des pieds de page, des bannières, des témoignages ou tout contenu répétitif.

Pensez-y comme à des briques LEGO pour votre site web - vous créez un bloc une fois, et le réutilisez partout où vous en avez besoin. Modifiez le bloc une fois, et il se met à jour automatiquement partout.

📖 Explication Simple

Imaginez que vous construisez un site web avec :

  • 🔝 En-tête - logo, menu de navigation (identique sur chaque page)
  • 🔽 Pied de page - informations de contact, liens sociaux (identiques sur chaque page)
  • 📢 Bannière Promo - offre spéciale (apparaît sur plusieurs pages)
  • Témoignages - avis clients (réutilisés à différents endroits)
  • 📞 Formulaire de Contact - apparaît sur plusieurs pages

Au lieu de copier ce contenu sur chaque page :

  • ✅ Créez une fois en tant que Bloc
  • ✅ Insérez le bloc où vous en avez besoin
  • ✅ Mettez à jour à un seul endroit → les changements se font automatiquement partout
  • ✅ Gardez votre contenu DRY (Don't Repeat Yourself)

Exemple concret :

Sans Blocks (copier-coller) :

  • Mettre à jour le pied de page → Éditer 50 pages manuellement ❌
  • Ajouter un lien social → Mettre à jour partout ❌
  • Contenu incohérent sur les pages ❌

Avec Blocks (réutilisables) :

  • Mettre à jour le bloc de pied de page → Changements sur les 50 pages instantanément ✅
  • Ajouter un lien social → Mettre à jour une fois ✅
  • Toujours cohérent ✅

✨ Concepts Clés

Qu'est-ce qu'un Bloc ?

Un bloc est un composant de contenu réutilisable contenant :

  • Contenu - Texte, images, liens, toutes données
  • Attributs - Champs personnalisés que vous définissez
  • Marqueur - Identifiant unique pour le référencer
  • Statut - Actif, brouillon, archivé

Réutilisabilité des Blocs

Les blocs peuvent être :

  • ✅ Utilisés sur plusieurs pages et si les blocs sont mis à jour, ils sont mis à jour partout
  • ✅ Localisés (contenu différent par langue)

📋 Ce que Vous Devez Savoir

Meilleure pratique : Utilisez toujours des marqueurs dans votre code (ils ne changent jamais).

Structure du Bloc

Chaque bloc a ces champs clés :

{
id: 3, // ID unique
localizeInfos: { // données localisées du bloc
title: 'Block', // titre localisé du bloc
},
version: 0, // version du bloc
position: 1, // position du bloc dans le tableau de blocs
identifier: 'block', // identifiant du bloc
type: 'common_block', // type de bloc
templateIdentifier: null, // identifiant de modèle
isVisible: true, // visibilité
attributeValues: {}, // attributs du bloc
}

Attributs Personnalisés

Les blocs utilisent AttributesSets pour les champs personnalisés :

Exemples :

  • Bloc de pied de page : texte de copyright, liens sociaux, informations de contact
  • Bannière héro : titre, sous-titre, bouton CTA, image de fond
  • Témoignage : nom de l'auteur, photo, citation, évaluation
  • Formulaire de contact : configuration des champs, texte du bouton de soumission

En savoir plus : Voir AttributesSets Module


📊 Tableau de Référence Rapide - Méthodes Courantes

MéthodeCe qu'elle faitQuand l'utiliser
getBlocks()Obtenir tous les blocs (paginé, filtré)Lister tous les blocs disponibles
getBlockByMarker()Obtenir un bloc par marqueurRécupérer un bloc spécifique dans le code
searchBlock()Rechercher des blocsRécupérer des blocs

❓ Questions Fréquemment Posées (FAQ)

Quelle est la différence entre les Blocs et les Pages ?

  • Pages/Pages de Produits - Pages complètement autonomes avec des URL (par exemple, /about) auxquelles vous pouvez ajouter des blocs et d'autres composants de page qui peuvent être réutilisés sur plusieurs pages.
  • Blocs - Composants réutilisables insérés dans des pages (par exemple, pied de page)

Pensez-y comme :

  • Page = Document complet
  • Bloc = Paragraphe que vous réutilisez dans plusieurs documents

Comment mettre à jour le contenu d'un bloc ?

Mettez-le à jour dans OneEntry panneau d'administration :

  1. Allez dans la section Blocs
  2. Trouvez votre bloc (par exemple, "Pied de page")
  3. Éditez les attributs
  4. Enregistrez

Toutes les pages utilisant ce bloc se mettent à jour automatiquement !


Dois-je créer de nombreux petits blocs ou quelques grands blocs ?

De nombreux petits blocs est préférable :

✅ Bon (petits, ciblés) :

- header_logo
- header_navigation
- footer_copyright
- footer_social_links

❌ À éviter (trop grand) :

- entire_page_layout (contient tout)

Pourquoi ? Les petits blocs sont plus faciles à réutiliser et à maintenir.


Comment puis-je afficher/masquer des blocs de manière conditionnelle ?

Vérifiez le champ isVisible


Puis-je créer des blocs dynamiquement via l'API ?

Le SDK est en lecture seule. Pour créer des blocs, utilisez le panneau d'administration OneEntry.


Comment gérer les blocs manquants de manière élégante ?

Utilisez toujours try/catch


💡 Notes Importantes

Meilleures Pratiques pour les Marqueurs de Blocs

✅ Bons noms de marqueurs :

  • Descriptifs : global_footer, homepage_hero
  • Utilisez des underscores : contact_form
  • Minuscules : promo_banner
  • Indiquez la portée : global_header vs blog_header

❌ Mauvais noms de marqueurs :

  • Généraux : block1, content
  • Espaces : my block
  • Cas mixte : MyBlock, ProMoBanner

Mise en Cache des Blocs

Les blocs changent rarement → mettez-les en cache !

🎓 Meilleures Pratiques

  • Créez des blocs petits et ciblés (responsabilité unique)
  • Utilisez des marqueurs descriptifs (footer, pas block1)
  • Mettez en cache les blocs pour réduire les appels API
  • Gérez les blocs manquants de manière élégante (try/catch)
  • Documentez l'utilisation de chaque bloc
  • Gardez la structure des blocs cohérente
  • Testez les modifications des blocs avant publication
  • Utilisez statusId pour prévisualiser les changements

Plus d'informations sur l'interface utilisateur du module https://doc.oneentry.cloud/docs/blocks/introduction

Définition du module Blocks


const { Blocks } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 Documentation Connexe