Content Template
Un template de contenu (Content Template), dans Jahia, définit la mise en page qui permet d’afficher en pleine page un contenu qui n’est pas une page classique. Une offre d’emploi, une fiche produit ou une actualité obtient ainsi sa propre page, sans que personne n’ait à créer cette page dans l’arborescence. Pour une équipe qui gère des centaines ou des milliers d’éléments, les pages sont ainsi produites automatiquement.
Définition et fonctionnement
Un contenu affiché sur sa propre page s’appelle une ressource principale (main resource). Un template de contenu est associé à un type de contenu : par défaut, un contenu de ce type, quand il peut s’afficher sur sa propre page, s’affiche avec lui, sauf si un autre template est prioritaire ou demandé dans l’URL. Dans un module Java, un composant d’affichage de la ressource principale placé dans le template appelle une vue (le code d’affichage) sur le contenu demandé, et l’on peut en placer plusieurs dans un même template, par exemple les vues historique et comparaison.
Dans un module Java, les templates se créent dans le Studio, l’outil des développeurs ; dans un module JavaScript, ils s’écrivent directement en code (JSX). Les templates s’héritent les uns des autres, si bien qu’un template de contenu peut reprendre l’en-tête, la navigation et le pied de page d’un template de base. Des permissions peuvent en limiter l’usage à certaines personnes.
Documentation Academy : le rendu des contenus
Termes liés : Vue · Type de contenu · Content item · Template
Ressources sur ce terme
Le template de contenu et le template de page : les différences
Le template de contenu se distingue du template de page (que le contributeur choisit à la création d’une page) et de la vue (qui ne rend qu’un contenu).
| Notion | Ce qui la distingue |
|---|---|
| Template de page | Le template de page sert aux pages de l’arborescence : le contributeur le choisit en créant la page, puis remplit ses zones. Le template de contenu s’applique automatiquement à tous les contenus d’un type. |
| Vue | La vue rend un contenu en HTML, où qu’il soit affiché. Le template de contenu construit la page complète autour de ce contenu, avec l’en-tête, la navigation et les autres zones. |
| Type de contenu | Le type définit la structure du contenu. Le template de contenu, associé à ce type, définit comment ses contenus s’affichent en pleine page. |
Le template de contenu en pratique
Un site carrières publie plusieurs centaines d’offres par an. Les recruteurs les saisissent dans un dossier de contenu ; une liste sur la page "Nos offres" les affiche ; un clic ouvre chaque offre en pleine page, grâce au template de contenu associé au type "Offre d’emploi". Aucune page n’est créée ni supprimée à la main.
L’adresse de chaque offre découle de son chemin dans le référentiel, sauf si une URL personnalisée est définie. C’est un point à cadrer avec l’équipe SEO.
Questions fréquentes
Faut-il créer une page par offre d’emploi ou par produit dans Jahia ?
Le template de contenu sert justement à éviter cette création page par page. Avec un template associé au type "Offre d’emploi" ou "Produit", par défaut, un contenu de ce type qui peut s’afficher sur sa propre page s’affiche en pleine page automatiquement. Les contributeurs gèrent normalement les contenus seuls, rangés par exemple dans des dossiers. Cette approche évite des milliers de pages à créer, à déplacer et à supprimer. Elle garde aussi une présentation homogène pour tous les éléments.
Où et par qui se créent les templates de contenu ?
Les templates de contenu sont créés par les développeurs, dans le Studio de Jahia pour un module Java ou directement en code (JSX) pour un module JavaScript. Les templates sont livrés avec le reste du projet. Les contributeurs travaillent normalement sur les contenus que le template affiche, pas sur le template lui-même. Des permissions peuvent par ailleurs limiter l’usage de certains templates à des personnes précises.
Deux types de contenu peuvent-ils avoir chacun leur mise en page en pleine page ?
Oui, puisqu’un template de contenu est associé à un type. Les offres d’emploi peuvent ainsi avoir leur mise en page et les actualités la leur, tout en reprenant l’en-tête, la navigation et le pied de page d’un même template de base, puisque les templates s’héritent. Dans un module Java, un template de contenu peut avoir sa propre vue ou placer un ou plusieurs composants d’affichage de la ressource principale, dont chacun appelle une vue sur le contenu.