Réutilisation de templates

1. Rôle principal

Le moteur de template Velocity réalise la réutilisation de templates grâce à #include / #parse.
Les parties communes d’une page web comme l’entête de navigation _head.htm ou le pied‑de‑page avec mentions légales _footer.htm sont extraites dans des sous‑templates séparés et importés, afin d’éviter des blocs HTML dupliqués.

2. Différences essentielles

1. #include("chemin‑du‑fichier")

Affiche le contenu brut du fichier tel quel, sans interpréter les variables Velocity ($!{xxx}) présentes dans le sous‑template

  • $!{testinclude} dans le sous‑template n’est pas résolu ; la chaîne littérale $!{testinclude} est affichée
  • Prend en charge plusieurs fichiers à la fois : #include("a.htm","b.htm")
  • Convient pour : fragments HTML statiques sans aucune variable VTL

2. #parse("chemin‑du‑fichier")

Importe le sous‑template et interprète l’intégralité de la syntaxe Velocity. Les variables transmises depuis le template parent fonctionnent dans le sous‑template.

  • $!{testinclude} dans le sous‑template lit les variables du contexte et affiche les valeurs fournies par le code backend
  • Accepte un seul chemin de fichier ; plusieurs imports simultanés ne sont pas autorisés
  • Convient pour : entêtes, pieds‑de‑page et autres templates communs qui utilisent des variables (titres de page, mentions légales dynamiques…)

Extrait de vos notes :
#include colle simplement le code du sous‑template sans l’interpréter, tandis que #parse réalise l’interprétation syntaxique

3. Exemple concret

1. Code backend (.cs)

context.Put("testinclude", "Texte issu du sous‑template :");Langage du code : JavaScript (javascript)

2. Contenu du sous‑template _footer.htm

Mentions légales $!{testinclude}
Cas ① avec #include("./themes/default/_footer.htm")

Résultat affiché sur la page :

Mentions légales $!{testinclude}

La variable n’est pas interprétée ; l’espace réservé s’affiche tel quel.

Cas ② avec #parse("./themes/default/_footer.htm")

Résultat affiché sur la page :

Mentions légales Texte issu du sous‑template :

La variable est correctement résolue. C’est pourquoi on préfère #parse pour les entêtes et pieds‑de‑page communs dans les projets réels.


4. Recommandations d’usage

DirectiveCas d’usage
#includeRessources statiques, texte brut, fragments HTML sans besoin de résoudre des variables
#parseEntêtes, pieds‑de‑page, barres latérales ; templates contenant $variables, #if et autres syntaxes VTL

💡 Règle de développement :
Utilisez systématiquement #parse pour les composants communs susceptibles d’utiliser des variables dynamiques (navigation, mentions légales). Réservez #include aux fragments purement statiques.

Réutilisation de templates

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *