Opvolgactie blok: Evalueer Smarty

Met het blok Evalueer Smarty kun je binnen opvolgacties controles uitvoeren door gebruik te maken van Smarty-expressies. Je kunt hiermee bepaalde eigenschappen van het event of het actieve profiel evalueren en op basis daarvan bepalen hoe de opvolgactie verdergaat.

Basisfunctionaliteit

Het blok werkt door twee waarden met elkaar te vergelijken. Beide velden ondersteunen Smarty-expressies. Je kunt bijvoorbeeld controleren of een profiel aan bepaalde criteria voldoet of of een verzameling een minimale grootte heeft. De vergelijking kan bestaan uit operators zoals "is gelijk aan", "is groter dan" of "bevat".

Enkele voorbeelden van vergelijkingen

Woonplaats is gelijk aan X:

{$profile.woonplaats} is gelijk aan Breda

Het is ook mogelijk om als vergelijking is ongelijk aan in te stellen.

Aantal subprofielen in collectie is groter dan X:

{$profile.mijncollectie|count} is groter dan 5

Verjaardag over 7 dagen:

{$profile.verjaardag} is kleiner dan {"+7 days"|date_format:'%Y-%m-%d'}

Opleinding bevat de tekst X

{$profile.opleiding} bevat de tekst Bsc

Het is ook mogelijk om als vergelijking bevat nergens de tekst in te stellen.

Profiel heeft de intresse voetbal:

{$profile.voetbal} is waar

Hierbij wordt er geen waarde ingevuld. Het is ook mogelijk om als vergelijking is niet waar in te stellen.

Beschikbare variabelen

Binnen het blok Evalueer Smarty kun je gebruikmaken van verschillende variabelen die beschikbaar zijn in opvolgacties:

  • {$event}: Bevat alle eigenschappen van de oorzaak van de opvolgactie, zoals gegevens uit events of andere blokken.
  • {$profile}: Bevat gegevens van het actieve profiel.
  • {$subprofile}: Bevat gegevens van het actieve subprofiel.

Voor meer informatie over de beschikbare variabelen en hun structuur, raadpleeg het overzicht van variabelen en databronnen.

Geavanceerde toepassingen

Omdat beide velden Smarty ondersteunen, kun je ook complexere evaluaties uitvoeren. Enkele voorbeelden:

Controleer of de woonplaats van het profiel overeenkomt met een dynamische waarde:

{$profile.woonplaats} is gelijk aan {$event.woonplaats}

Vergelijk de grootte van twee collecties:

{$profile.collectieA|count} is groter dan {$profile.collectieB|count}

Controleer of een waarde voorkomt in een lijst:

{$profile.woonplaats} in lijst {["Amsterdam", "Rotterdam"]}

Vergelijk met een reguliere expressie:
De waarde bij een reguliere expressie moet altijd beginnen en eindigen met '/', bijvoorbeeld:

{$profile.postcode} reguliere expressie /\d{4}\s?[A-Za-z]{2}/