Communicatie template definitie
Vooraf
Een communicatie template of template.hbs
bestand is een HTML-bestand verrijkt met handlebars. Hiervan zijn er typisch meerdere binnen één en dezelfde applicatie. Om globale en specifieke eigenschappen toe te kennen aan deze individuele templates, definiëren we per applicatie één template definition bestand (template-definition.json
). Dit bestand volgt samen met de templates hetzelfde pad (bijvoorbeeld resources/dossiertypes/myDossierType/templates/template-definitions.json
).
Eigenschappen
Globale eigenschappen
Dit zijn eigenschappen die globaal gelden voor alle templates.
Eigenschap | Type | Beschrijving |
---|---|---|
| string (default | Key van de gedefinieerde header die je wil gebruiken. |
| string (default | Key van de gedefinieerde footer die je wil gebruiken. |
| object (optioneel) | Integer values waarmee je de marges (in mm) kan instellen. |
Specifieke eigenschappen
Dit zijn eigenschappen gedefinieerd per template.
Eigenschap | Type | Beschrijving |
---|---|---|
| string | Key van de specifieke communicatie template. |
| string | Label of naam van de specifieke communicatie template. |
| enum:
| Duid aan over welk type communicatie template het gaat.
|
| boolean (optioneel, default | Duid aan of er een header toegevoegd mag worden. |
| boolean (optioneel, default | Duid aan of er een footer toegevoegd mag worden. |
| string (optioneel) | Duid aan welke header toegevoegd mag worden. Indien niet gedefinieerd, dan wordt |
| string (optioneel) | Duid aan welke footer toegevoegd mag worden. Indien niet gedefinieerd, dan wordt |
| object (optioneel) | Mogelijkheid om de globaal ingestelde marges te overschrijven met specifieke waardes. |
Marges
Marges voor communicatie templates zijn beschikbaar vanaf platform versie 16.0.X
Standaard zijn er geen marges gedefinieerd en vallen we terug op de binnen de pdf renderer ingestelde defaults (10 mm zowel voor bottom, top, left als right). Indien er wel marges gedefinieerd zijn, dan krijgen de specifiek ingestelde marges voorrang op de globaal ingestelde marges.
Header/Footer
Standaard is er geen header of footer voorzien (includeHeader
of includeFooter
is default false
). Je moet dit dus voor elke template afzonderlijk inschakelen. Indien true
dan wordt er gekeken naar de headerKey
of footerKey
om te weten welke header of footer er precies van toepassing is. Indien headerKey of footerKey niet ingevuld zijn, dan wordt er gekeken naar de defaultHeaderKey
of defaultFooterKey
. Klik hier voor meer info over de header/footer functionaliteit.
Content block templates
Dit zijn .hbs
bestanden waarnaar je kan verwijzen binnen andere .hbs
bestanden. Dit betekent dat je vaste stukken tekst slechts één keer hoeft te definiëren of te onderhouden, maar ze daarna over verschillende communicatie templates heen kan gebruiken. Klik hier voor meer info over deze functionaliteit.
Voorbeeld definitiebestand
Hieronder een sample van een .json communicatie template definitiebestand.
{
"defaultHeaderKey":"default-header",
"defaultFooterKey":"default-footer",
"defaultMargins": {
"bottom": 10,
"top": 10,
"left": 10,
"right": 10
},
"templateDefinitions":[
{
"key":"confirmation-parking",
"purpose":"LETTER",
"name":"A letter template with the default header and a custom footer",
"includeHeader":true,
"footerKey":"another-footer",
"margins": {
"bottom": 5,
"top": 0,
"left": 20,
"right": 8
},
},
{
"key":"gdprEmail",
"purpose":"EMAIL",
"name":"An email template without header nor footer"
},
{
"key":"default-header",
"purpose":"HEADER",
"name":"A header with municipality logo and dossier type name",
},
{
"key":"default-footer",
"purpose":"FOOTER",
"name":"A footer with page count"
},
{
"key":"fancy-footer",
"purpose":"FOOTER",
"name":"A footer with a fancy logo"
}
]
}