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 - 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 répercutent 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é
Bloc vs Page
| Fonctionnalité | Page | Bloc |
|---|---|---|
| But | Contenu de page complet | Composant réutilisable |
| URL | A sa propre URL (/about) | Pas d'URL (intégré) |
| Utilisation | Consulté directement | Inséré dans les pages |
| Exemple | Page À Propos | Pied de page, En-tête |
Principale différence : Les pages sont des destinations, les blocs sont des éléments de construction.
Types de Blocs Courants
Blocs typiques que vous pourriez créer :
| Type de Bloc | Contenu Exemple | Où Utilisé |
|---|---|---|
| En-tête | Logo, menu de navigation, recherche | Chaque page |
| Pied de page | Contact, liens, copyright | Chaque page |
| Bannière Hero | Grande image + bouton CTA | Page d'accueil, pages de destination |
| Témoignages | Avis clients | Plusieurs pages |
| Formulaire de Contact | Formulaire d'email | Page de contact, modales |
| Bannière Promo | Alerte d'offre spéciale | Pages sélectionnées |
| Liens Sociaux | Icônes Facebook, Twitter | Pied de page, barre latérale |
| Inscription à la Newsletter | Boîte d'abonnement par email | Pied de page, blog |
Réutilisabilité des Blocs
Les blocs peuvent être :
- ✅ Utilisés sur plusieurs pages
- ✅ Mis à jour une fois, reflétés partout
- ✅ Localisés (contenu différent par langue)
📋 Ce que Vous Devez Savoir
Identification des Blocs
Trois façons d'identifier les blocs :
| Méthode | Quand l'utiliser | Exemple |
|---|---|---|
| Lister Tous | Tableau de bord admin, sélecteur de blocs | getBlocks() |
| Par Marqueur | Référence dans le code (meilleure pratique) | footer, header, promo_banner |
| Rechercher des blocs | Références internes | searchBlock('foo') |
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 Hero : 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 Module AttributesSets
📊 Tableau de Référence Rapide - Méthodes Courantes
| Méthode | Ce qu'elle fait | Quand l'utiliser |
|---|---|---|
| getBlocks() | Obtenir tous les blocs (paginé, filtré) | Lister tous les blocs disponibles |
| getBlockByMarker() | Obtenir un bloc par marqueur | Récupérer un bloc spécifique dans le code |
| searchBlock() | Rechercher des blocs | Récupérer des blocs |
❓ Questions Fréquemment Posées (FAQ)
Quelle est la différence entre les Blocs et les Pages ?
- Pages - Pages complètes autonomes avec des URL (par exemple,
/about) - 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 le panneau d'administration OneEntry :
- Allez dans la section Blocs
- Trouvez votre bloc (par exemple, "Pied de page")
- Éditez les attributs
- 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.
Puis-je utiliser le même bloc plusieurs fois sur une page ?
Oui ! Récupérez une fois, affichez plusieurs fois.
Comment puis-je afficher/masquer des blocs de manière conditionnelle ?
Vérifiez statusId et 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_headervsblog_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, pasblock1) - 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
statusIdpour 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
- Module Pages - Gérer les pages qui utilisent des blocs
- Module AttributesSets - Définir les attributs des blocs
- Module Produits - Utiliser des blocs dans les pages de produits