Diverse globale variabelen

Bij het personaliseren heb je altijd toegang tot een aantal globale variabelen die af en toe van pas kunnen komen. Dit zijn de volgende variabelen:

  • {$account}: Gegevens over je account.
  • {$smarty}: Door de Smarty-engine verstrekte variabele met allerlei meta-informatie.
  • {$timestamp}: Tijdstip waarop de mail is samengesteld.

{$account}

De {$account}-variabele heeft de volgende eigenschappen:

  • {$account.id}: nummerieke identifier van je account.
  • {$account.name}: naam van je account.

{$smarty}

De variabele {$smarty} wordt door de Smarty-engine zelf gevuld, en bevat allerlei informatie over Smarty zelf. Om veiligheidsredenen zijn veel van deze variabelen binnen Copernica uitgeschakeld. De meest relevante variabele die je kunt gebruiken is {$smarty.now}, waarin de huidige tijd staat (maar zie ook hieronder).

Documentation over {$smarty} op www.smarty.net

{$timestamp}

Er zijn twee variabelen die toegang geven tot de huidige tijd: {$smarty.now} en {$timestamp}. Er is een subtiel verschil tussen deze twee variabelen, waardoor je meestal beter {$timestamp} kunt gebruiken:

  • {$smarty.now} geeft altijd de huidige tijd.
  • {$timestamp} bevat het tijdstip op het moment van samenstellen.

Tijdens het samenstellen van de mail hebben deze twee variabelen dezelfde waarde, maar als iemand later de webversie van een mail opent (en de mail opnieuw wordt samengesteld), dan zit in {$timestamp} nog altijd de verzendtijd, terwijl {$smarty.now} de tijd bevat waarop de webversie werd geopend. Als je een tekst als "Aanbiedingen van 27 augustus" wilt gebruiken, dan kun je dit beter doen op basis van {$timestamp}. Als iemand pas een paar dagen later de webversie bekijkt, dan ziet hij nog steeds dezelfde, oorspronkelijke, datum.

Tips en trucs om datums te gebruiken

Om een datum (in seconden sinds 1970) te tonen gebruik je {$smarty.now} of {$timestamp}. Maar als je dit rechtstreeks in een mailing gebruikt, komt er een of ander groot getal te staan. Met de date_format modifier kun je dit omzetten naar een ander formaat.

Voorbeeld: om de huidige datum om te zetten naar het formaat YYYY-MM-DD dat je kunt opslaan in een datumveld gebruik je:

{$timestamp|date_format:"%Y-%m-%d"}

Hieronder zie je een aantal voorbeelden:

{$timestamp|date_format}                // Jan 4, 2024
{$timestamp|date_format:"%D"}           // 01/04/24
{$timestamp|date_format:"%d-%m-%Y"}     // 04-01-2024
{$timestamp|date_format:"%A, %e %B %Y"} // Tuesday, 4 January 2024
{$timestamp|date_format:"%A"}           // Tuesday
{$timestamp|date_format:"%c"}           // Tu 04 jan 2024 15:20:28 CET

Een volledige lijst van mogelijkheden van de date_format modifier kun je vinden op de officiele website van Smarty.

Data in een andere taal en tijdzone tonen

Een datum wordt automatisch weergegeven in de taal en tijdzone van de template of het document. Als je template staat ingesteld op Engels, wordt de %A variabele door date_format dus weergegeven als "Tuesday", en als de taal op Nederlands staat, is dat "dinsdag". Dit geldt ook voor tijdzones.

Morgen, overmorgen en de dag daar weer na

Verder is het ook mogelijk om een datum te krijgen die een bepaalde anatal dagen, weken, maanden of jaren in de toekomst is. Let op dat je de Engelse woorden gebruikt hiervoor. Je kan ook de opmaak van deze data aanpassen.

{"tomorrow"|date_format:"%A, %B %e, %Y"}           Friday, April 12, 2024
{"+5 day"|date_format:"%A, %B %e, %Y"}             Tuesday, April 16, 2024
{"+1 week"|date_format:"%A, %B %e, %Y"}            Thursday, April 18, 2024
{"+1 week + 1 day"|date_format:"%A, %B %e, %Y"}    Friday, April 19, 2024
{"+1 month"|date_format: "%d-%m-%Y"}               11-05-2024