Expand my Community achievements bar.

Announcing the launch of new sub-community for Campaign Web UI to cater specifically to the needs of Campaign Web UI users!
SOLVED

Javascript code being escaped in HTML templated

Avatar

Level 2

Hi There

 

I have a requirement where a I need to add some html blocks to the email template based on the value of some attributes that are populated in the delivery workflow. I have a simple javascript code in the HTML template using an AND condition (&&) but the ampersands are being escaped after saving the template and they are converted into &

 

Original code snippet:

<tbody><!-- BEGIN DYNAMIC CONTENT BLOCKS --> <%if(targetData.recommendations1.ocidLink != '' && targetData.recommendations2.ocidLink != '') { %>

 

After saving the template and re-opening it:

<tbody><!-- BEGIN DYNAMIC CONTENT BLOCKS --> <%if(targetData.recommendations1.ocidLink != '' &amp;&amp; targetData.recommendations2.ocidLink != '') { %>

 

When I run the workflow with that template the delivery fails as the code snippet is broken due to the && code being escaped.

 

I also tried to embed the code in a <script> tag, but upon saving the template and close it Adobe Campaign deletes the <script> tag and everything that was inside it. After re-opening the template I can see that the <script> tag  is gone and everything in it was deleted.

 

Does someone have any suggestions to make this work?

 

Thanks!

Hugo

 

 

1 Accepted Solution

Avatar

Correct answer by
Level 2

Thanks to everyone who replied. I was on leave and could not reply back until now.

 

Since it was an urgent request at the time by our stakeholders I had to make it work on the same day as that was my last day before going into leave. So I moved the logic to the workflow itself as that was the quickest way to solve it at the time.  I did not have time to try out the suggestions before going into leave unfortunately.

 

So instead of using the AND ($$) condition in the email template I just moved the logic to the workflow and it is begin running fine since, however two different templates are used for each output of the workflow depending on whether the AND condition is true or false. It is a bit cumbersome but it worked.

 

I will provide the error details with the original approach once I had the time to check again

 

Thanks

Hugo

View solution in original post

4 Replies

Avatar

Community Advisor

Hi @hugol_vallejo 

First way is not wrong at all. Adobe needs to convert this inside of delivery html and it should work fine.

Could you, please, provide an error from the workflow logs as I think that something else is issue here.

Regards,

Milan

Avatar

Level 3

Pls try this:

 

<tbody><!-- BEGIN DYNAMIC CONTENT BLOCKS -->

<%if(targetData.recommendations1.ocidLink != "" && targetData.recommendations2.ocidLink != "") { %>

Avatar

Administrator

Hi @hugol_vallejo,

Were you able to resolve this query or do you still need more help here? Do let us know.

Thanks!



Sukrity Wadhwa

Avatar

Correct answer by
Level 2

Thanks to everyone who replied. I was on leave and could not reply back until now.

 

Since it was an urgent request at the time by our stakeholders I had to make it work on the same day as that was my last day before going into leave. So I moved the logic to the workflow itself as that was the quickest way to solve it at the time.  I did not have time to try out the suggestions before going into leave unfortunately.

 

So instead of using the AND ($$) condition in the email template I just moved the logic to the workflow and it is begin running fine since, however two different templates are used for each output of the workflow depending on whether the AND condition is true or false. It is a bit cumbersome but it worked.

 

I will provide the error details with the original approach once I had the time to check again

 

Thanks

Hugo