Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Javascript code being escaped in HTML templated

hugol_vallejo
Level 2
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

 

 

Formatting html javascript
1 Accepted Solution
hugol_vallejo
Correct answer by
Level 2
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
Milan_Vucetic
Community Advisor
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

amritakedia_epsilon
Level 3
Level 3

Pls try this:

 

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

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

Sukrity_Wadhwa
Employee
Employee

Hi @hugol_vallejo,

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

Thanks!

hugol_vallejo
Correct answer by
Level 2
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