Expand my Community achievements bar.

SOLVED

Conditional Statement in transactional message center

Avatar

Level 4

Hi team,

We have a use case where we have to use conditional statements (if, else and maybe a for loop as well) in a transactional message center email template.

 

Is it possible to do so, can we use conditional statements in the transactional message center email template?

If yes, please provide some examples or documentation for the same.

 

Thanks

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

 

<% var ctx = XML(rtEvent.ctx); %>

<% if (rtEvent.ctx.myValue == true) {%>

display some html block

<%} else { %>

display some another html block

<%}%>

 

 

The approach is basically the same as normal delivery templates, but in transactional you need to define the ctx variable as above.

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

 

<% var ctx = XML(rtEvent.ctx); %>

<% if (rtEvent.ctx.myValue == true) {%>

display some html block

<%} else { %>

display some another html block

<%}%>

 

 

The approach is basically the same as normal delivery templates, but in transactional you need to define the ctx variable as above.

Avatar

Level 2

Hi @david--garcia @abhinav99  

 

I have been trying to implement your steps but it still doesn't work for me.

Can you suggest what's wrong?

 

Original method
<% if ( toString(rtEvent.ctx.@freeText22).length > 0 ) { %>
<tr>
<td class="mpbx-27" style="font-size:16px; line-height:22px; font-family:'Core Sans C', Helvetica, Arial, sans-serif; font-weight: 400; text-align:left; min-width:auto !important; color:#151515; padding-bottom: 20px;">
<strong>Sources</strong><br />
<%= rtEvent.ctx.@freeText22 %>
</td>
</tr>
<% } %>

 

New method
<% var ctx = XML(rtEvent.ctx); %>
<% if ( rtEvent.ctx.@freeText22 == true ) { %>
<tr>
<td class="mpbx-27" style="font-size:16px; line-height:22px; font-family:'Core Sans C', Helvetica, Arial, sans-serif; font-weight: 400; text-align:left; min-width:auto !important; color:#151515; padding-bottom: 20px;">
<strong>Sources</strong><br />
<%= rtEvent.ctx.@freeText22 %>
</td>
</tr>
<% } %>
<%} else { %>
<%}%>

 

Thanks!!

 

Avatar

Community Advisor

Try the below;

 

<% var ctx = XML(rtEvent.ctx); % >

<% if (rtEvent.ctx.@freeText22 == true) {% >
	<tr>
		<td class = "mpbx-27" style = "font-size:16px; line-height:22px; font-family:'Core Sans C', Helvetica, Arial, sans-serif; font-weight: 400; text-align:left; min-width:auto !important; color:#151515; padding-bottom: 20px;" >
		<strong> Sources </strong><br / >
		<%= rtEvent.ctx.@freeText22 % >
		</td>
	</tr>

<% } else { % >
	//html something else
<%}%>