Overview
Using Smarty, you can randomize blocks of content in a message. The content will be randomized at send time or during message preview. This is useful if you need to display advertising content randomly in a message.
Examples
In this first example, we'll assign a variable with a random value between 1 and 4. Then in the content, we can use an {elseif}
statement to print the random result:
{$data.min = 1}
{$data.max = 4}
{$data.random = "{math equation='rand(min, max)' min=$data.min max=$data.max}"} {if $data.random == 1} Ad 1 {elseif $data.random == 2} Ad 2 {elseif $data.random == 3} Ad 3 {else} Ad 4 {/if}
<h1>Debug Data</h1> {$utils->jsonPrettyPrint($data)}
<br><hr><br>
Every time the message is sent or previewed, the content will change according to the number that was selected at random by Smarty.
We can also render a random value from an array:
{* Math for Random *} {$random.min = 0} {$random.max = 3} {$random.index = "{math equation='rand(min, max)' min=$random.min max=$random.max}"}
{* Array *} {$array_list = ['value1','value2','value3','value4']}
{* Return a Random Number Between 0-3 for the Array *} {$random_result = $array_list[$random.index]} <p>{$random_result}</p>
In the next article, you can learn about calculating distance between postal codes.
Comments
0 comments
Please sign in to leave a comment.