# Templates aanpassen via interne code

In onFact zijn er enkele standaard templates voor e-mails en documenten beschikbaar. Als je de interne code van één van deze templates wil wijzigen, wordt er een kopie gemaakt van het origineel zodat je je eigen versie kan creëren.&#x20;

De templates in onFact zijn geprogrammeerd in de programmeertalen HTML, CSS en Smarty. De code van de templates is aanpasbaar in elke onFact account en je kan deze (laten) aanpassen mits de nodige technische kennis.

Enkele voorbeelden van de mogelijkheden:

* Extra bedrijfsgegevens op de documenten zetten zoals een erkenningsnummer&#x20;
* Voettekst toevoegen
* Een logo van een keuringsmerk onderaan de documenten toevoegen&#x20;
* Elementen een andere positie geven

## Opbouw documenttemplate

Documenten in onFact worden dynamisch aangemaakt aan de hand van de verschillende instellingen en invoervelden. Het is daarom niet mogelijk om de lay-out op een eenvoudige manier aan te passen zoals bijvoorbeeld een Word document, de inhoud is immers voor elk document anders.&#x20;

Een template is opgebouwd uit een algemene 'Layout' die de informatie over het bedrijf bevat en eventuele headers en footers. In deze layout wordt specifieke code opgenomen die anders is voor elk 'Documenttype' in onFact. De volledige code ziet er dus steeds uit als volgt: bv. "code layout + code factuur", "code layout + code bestelbon", "code layout + inkooporder", enz.&#x20;

Een voorbeeld van een codestuk m.b.t. documentinformatie ('Factuur'):&#x20;

<figure><img src="/files/59MmOyl7lkrF9nPRQTKn" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Alle HTML en CSS wordt omgezet naar een PDF-document. De omzetting kan er voor zorgen dat je document er niet voor 100% uitziet zoals het wordt weergegeven in je browser, maar het zal er erg op gelijken.
{% endhint %}

## Smarty elementen

onFact maakt gebruik van [Smarty-elementen](https://www.smarty.net/about_smarty) om velden op te nemen in de code die worden vervangen door gegevens die je bv. in onFact hebt ingevoerd (bijvoorbeeld: adresgegevens van je bedrijf).

Onderstaande stukje code zou er op een document als volgt kunnen uitzien:

GSM: 0497 12 34 56\
<support@onfact.be>\
[www.onfact.be](http://www.onfact.be)

```markup
GSM: {$company["gsm"]} 
{$company["email"]}
{$company["website"]}
```

Elk Smarty-element tussen accolades wordt vervangen door een waarde. Een Smarty-element bestaat steeds uit accolades: { en } en een dollarteken: $. Wanneer je tekst tussen accolades plaatst, herkent de applicatie dit als code die vervangen moet worden door gegevens uit jouw invoer.

{% hint style="info" %}
Let op: Smarty is hooflettergevoelig. Het element {$email} zal dus niet dezelfde waarde aannemen als {$EMAIL}.
{% endhint %}

Je kan Smarty op verschillende manieren inzetten, bv. in een volledige zin zoals je soms in een bevestigingsboodschap aantreft:&#x20;

*"Beste **{$voornaam}**, bedankt voor je aanmelding bij **{$companyname}**."*

Wanneer het document weergegeven wordt, zie je het volgende:

*"Beste **Jonas**, bedankt voor je aanmelding bij **onFact**."*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentatie.onfact.be/templates/onfact-v5/aanpassen-via-interne-code.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
