Templates
Récupérez les modèles d'affichage qui contrôlent le rendu des pages, blocs et produits dans votre application.
Plus d'informations sur les modèles dans le panneau d'administration OneEntry : https://doc.oneentry.cloud/docs/category/templates (ouvre dans un nouvel onglet)
Les modèles décrivent la structure et l'apparence de vos entités en dehors du code. Vous les créez dans le panneau d'administration OneEntry (Settings > Templates) et les attribuez à vos composants ; le module Templates les récupère : vous pouvez ainsi changer le rendu d'une entité en changeant son modèle, sans redéploiement.
Démarrage rapide
Initialisez le module depuis defineOneEntry :
const { } = defineOneEntry( , { });
Récupérez les modèles et lisez leur configuration :
// Fetch all templates of a given BlockType.
const productTemplates = await Templates.getTemplateByType("product", "en_US");
if ('statusCode' in productTemplates) throw new Error(productTemplates.message);
productTemplates.forEach((tpl) => {
console.log(tpl.identifier, tpl.title, tpl.generalTypeName);
});
// Or fetch a single template by its marker.
const card = await Templates.getTemplateByMarker("product_thumbnail", "en_US");
if ('statusCode' in card) throw new Error(card.message);
console.log(card.attributeValues);
Objet modèle
Un modèle (ITemplateEntity) est une configuration d'affichage qui définit l'apparence du contenu :
generalTypeName: la catégorie d'entités à laquelle le modèle s'applique, unBlockTypecommeproduct,common_page,common_block,formouorder.title: le nom du modèle affiché dans le panneau d'administration. Non unique.identifier: le marqueur unique que vous référencez dans le code.attributeValues: une table des valeurs d'attributs indexée par marqueur.attributeSetIdentifier: l'ensemble d'attributs associé, le cas échéant.
interface ITemplateEntity {
id: number; // Unique identifier
title: string; // Template name (non-unique)
identifier: string; // Template marker (unique)
generalTypeId: number; // Type ID reference
version: number; // Version number
generalTypeName: BlockType; // General type name
attributeSetIdentifier: string | null; // Associated attribute set
attributeValues: IAttributeValues; // Map of attribute values keyed by marker
position: number; // Sort position
}
Types de modèles
Le type d'un modèle est son generalTypeName, une valeur BlockType. getTemplateByType(type) accepte le même BlockType. Valeurs courantes :
| Type | Catégorie d'entités | Exemples d'utilisation |
|---|---|---|
product | Produits | Fiche produit, affichage de produit |
catalog_page | Pages de catalogue | Liste d'une catégorie, résultats de recherche |
common_page | Pages ordinaires | Article de blog, page d'atterrissage, page « À propos » |
error_page | Pages d'erreur | Page 404, page 500, mises en page d'erreur personnalisées |
common_block | Blocs de contenu | Cartes de contenu, bannières, sections, widgets |
form | Formulaires | Formulaire de contact, d'inscription, enquête |
order | Commandes | Confirmation de commande, historique des commandes |
service | Entités de service | Contenu lié aux services. Pas encore accepté par getTemplateByType() |
getTemplateByType('service') échoue actuellement avec une erreur 400 (type must be a valid enum value). Il s'agit d'un problème connu de la plateforme.
Créer des modèles
Le SDK est en lecture seule : il ne permet pas de créer des modèles. Créez-les dans le panneau d'administration OneEntry (Settings > Templates). Chaque modèle nécessite un Nom (non unique), un Marqueur unique et un Type (la catégorie d'entités à laquelle il s'applique).
Récupérer des modèles
Référencez les modèles dans le code par marqueur (identifier), et non par ID : les marqueurs sont stables d'un environnement à l'autre, les ID ne le sont pas. Utilisez getTemplateByMarker(marker) pour un seul modèle, getTemplateByType(type) pour tous les modèles d'un BlockType, et getAllTemplates() pour tous les modèles regroupés par type.
getTemplateByMarker() renvoie un IError (statusCode: 404) lorsqu'aucun modèle n'a ce marqueur. getTemplateByType() renvoie un tableau vide lorsqu'un type n'a pas de modèles, et un IError (statusCode: 400) lorsque le type n'est pas un BlockType valide. getAllTemplates() renvoie actuellement un objet vide ({}) au lieu d'un IError lorsque la requête échoue (par exemple, avec un app token invalide) : vérifiez donc si le résultat est vide.
Les modèles changent rarement : ce sont donc de bons candidats à la mise en cache.
Templates et TemplatePreviews
Templates configure l'affichage du contenu général (pages, blocs, produits). TemplatePreviews définit la façon dont OneEntry recadre les images en aperçus pour les attributs d'image et les fichiers envoyés.
Méthodes
| Méthode | Description | Cas d'usage |
|---|---|---|
| getAllTemplates() | Récupérer tous les modèles regroupés par type | Lister tous les modèles disponibles |
| getTemplateByType() | Récupérer les modèles par type d'entité | Récupérer les modèles d'un type d'entité précis |
| getTemplateByMarker() | Récupérer un modèle par marqueur | Récupérer la configuration d'un modèle précis |
Voir aussi
- Panneau d'administration OneEntry - Modèles de contenu : documentation officielle du panneau d'administration
- Module TemplatePreviews : modèles d'aperçu pour générer des aperçus d'images côté serveur
- Module Products : les produits utilisent des modèles de produits
- Module Pages : les pages utilisent des modèles de pages
- Module Blocks : les blocs utilisent des modèles de blocs
- Module Forms : les formulaires utilisent des modèles de formulaires