Criar modelos Word no Mustache requer um pouco de conhecimento de códigos básicos. Embora o Mustache não seja uma sintaxe de modelo, ele pode ser valioso na criação de modelos avançados que podem ser usados para mala direta. Vejamos o exemplo a seguir para entender como o uso da sintaxe Mustache pode nos ajudar a criar ótimos modelos.
No modelo de fatura acima, você pode ver que ele foi inteiramente projetado usando a sintaxe Mustache. Este modelo do Word utiliza Mustache para criar cabeçalhos, corpo, rodapé e até mesmo tabelas dinâmicas dentro do modelo.
Vamos analisar como cada sintaxe ajuda a preencher os dados para gerar uma fatura dinâmica.
Cabeçalho
{} - Marca o início de um cabeçalho. Sintaxe a ser adicionada dentro da região do cabeçalho : {{/foreach header}} - Fecha o cabeçalho
Corpo - Obrigatório
{} - Marca o início do conteúdo no corpo do documento {{/foreach body}} - Marca o fim do corpo do documento
Rodapé
{} - Define o início do rodapé do documento. A sintaxe deve ser adicionada dentro da região do rodapé. {{/foreach footer}} - Define o fim do rodapé do documento.
Você pode passar os dados para o modelo Mustache como JSON para a fatura de exemplo acima. A seguir, apresentamos os dados de exemplo para gerar documentos para o modelo acima.
{ "Documentos": [ { "cabeçalho": { "tipoDoc": "Cópia Original" }, "corpo": { "Coluna1": "Quantidade", "Coluna2": "Descrição", "Coluna3": "Preço Unitário", "Coluna4": "Total", "Fatura": { "número": 14957, "data": "25-02-2022", "instruções": "Fatura de Instruções 1", "subtotal": 200150, "imposto": "18%", "dataDeVencimento": "25-03-2022", "frete": "200" }, "Cobrador": { "telefone": "989797", "fax": "998463", "e-mail": "doc1@email.com", "web": "www.doc1.com", "endereço": { "company": "Organization 1", "street": "Street 1", "city": "City 1", "zip": "123456" } }, "Receptient": { "name": "recepeint 1", "address": { "street": "testveien 3 ", "city": "City 1", "zipcode": "0555", "country": "Country 1" } }, "Product": [ { "quantity": 1, "description": "item 1", "unitPrice": 45, "totalPrice": 867 }, { "quantity": 2, "description": "item 2", "unitPrice": 123, "totalPrice": 3464 }, { "quantity": 3, "description": "item 3", "unitPrice": 323, "totalPrice": 6564 } ] }, "footer": { "phone": "phone123", "fax": "fax123", "email": "123@mail.com", "web": "www.123.com" }
} ] }
Instruções IF em Modelos
O Microsoft Word permite usar campos de mala direta e tags Mustache com a instrução IF . Eles são úteis ao gerar documentos com valores condicionais. O campo de mala direta IF evita espaços indesejados quando uma condição não é satisfeita ou um valor está vazio.
{ SE [Condição] [Exibir valor 1] [Exibir valor 2] }
Exemplo