Créer des modèles Word avec Mustache nécessite une certaine compréhension des bases du code. Bien que Mustache ne soit pas une syntaxe de templating, elle peut s'avérer précieuse pour créer des modèles avancés utilisables pour le publipostage. Prenons l'exemple suivant pour comprendre comment l'utilisation de la syntaxe Mustache peut nous aider à créer d'excellents modèles.
Le modèle de facture ci-dessus est entièrement conçu avec la syntaxe Mustache. Ce modèle Word utilise Mustache pour créer des en-têtes, un corps de texte, un pied de page et même des tableaux dynamiques.
Voyons comment chaque syntaxe permet de renseigner les données nécessaires à la génération d'une facture dynamique.
En-tête
{} - Marque le début d'un en-tête. Syntaxe à ajouter à l'intérieur de la zone d'en-tête {{/foreach header}} - Ferme l'en-tête
Corps - Obligatoire
{} - Marque le début du contenu du corps du document {{/foreach body}} - Marque la fin du corps du document
Pied de page
{} - Définit le début du pied de page du document. La syntaxe doit être ajoutée à l'intérieur de la zone du pied de page. {{/foreach footer}} - Définit la fin du pied de page du document
Vous pouvez transmettre les données au modèle Mustache au format JSON pour l'exemple de facture ci-dessus. Voici un exemple de données permettant de générer des documents pour ce modèle.
{ "Documents": [ { "header": { "docType": "Copie originale" }, "body": { "Column1": "Quantité", "Column2": "Description", "Column3": "Prix unitaire", "Column4": "Total", "Invoice": { "number": 14957, "date": "25-02-2022", "instructions": "Instruction Invoice Fact 1", "subTotal": 200150, "tax": "18%", "dueDate": "25-03-2022", "shipping": "200" }, "Biller": { "phone": "989797", "fax": "998463", "email": "doc1@email.com", "web": "www.doc1.com", "address": { "company": "Organization 1", "street": "Street 1", "city": "Ville 1", "code postal" : "123456" } }, "Destinataire" : { "nom" : "destinataire 1", "adresse" : { "rue" : "testveien 3", "ville" : "Ville 1", "code postal" : "0555", "pays" : "Pays 1" } }, "Produit" : [ { "quantité" : 1, "description" : "article 1", "prix unitaire" : 45, "prix total" : 867 }, { "quantité" : 2, "description" : "article 2", "prix unitaire" : 123, "prix total" : 3464 }, { "quantité" : 3, "description" : "article 3", "prix unitaire" : 323, "prix total" : 6564 } ] }, "pied de page" : { "téléphone" : "téléphone123", "fax" : "fax123", "email": "123@mail.com", "web": "www.123.com" }
} ] }
Instructions IF dans les modèles
Microsoft Word vous permet d'utiliser des champs de fusion et des balises Mustache avec l'instruction IF . Ces fonctionnalités sont utiles pour générer des documents avec des valeurs conditionnelles. Le champ de fusion IF évite les espaces indésirables lorsqu'une condition n'est pas remplie ou qu'une valeur est vide.
{ SI [Condition] [Afficher la valeur 1] [Afficher la valeur 2] }
Par exemple