IF ELSE条件在DCE编辑器中的HTML内容中移动

了解如何在Campaign Classic中为DCE编辑器的HTML中实施IF ELSE条件。

描述 description

环境

  • Adobe Campaign
  • Adobe Campaign Classic
  • Adobe Campaign Classic V7

问题/症状

如何添加 IF ELSE 条件导入HTML内容并在DCE编辑器模式下导入内容,例如:

<table>

<% if (recipient.email == 'xxxxx@email.com' ) { %>

<tr>

<td>A</td>

</tr>

<% } else { %>

<tr>

<td>B<td>

</tr>

<% } %>

</table>

条件的目的是在收件人的电子邮件地址等于时,向收件人显示内容的某些部分 xxxxx@email.com. 保存消息后,我们发现 IF ELSE 条件将移动到电子邮件内容的顶部。

解决方法 resolution

此行为是符合预期的。

随着不断演变的HTML规范和现代规范,不可表格标记(如 [ (less-than)(percent-sign) (< )(%)][ (percent-sign)(大于) (%)(> )]  标签,甚至常规HTML标签,如 img 标记和 div 标记不允许介于 tr 标记或 td 标记之间。

所有此类标记都会从 table 标记之前,填充于页面代码之后。

这是正确的用法:

<% if (recipient.email == 'xxxxx@email.com' ) { %>
<table>
<tr>
<td>A</td>
</tr>
</table>
<% } else { %>
<table>
<tr>
<td>B<td>
</tr>
</table>
<% } %>

此问题可以在V7 9349Campaign Classic中观察到,但无法在较低版本中观察到。

这是因为在旧版本中,底层控件是Internet Explorer 7,而在9349中,底层控件是IE 11(或Edge Chromium,具体取决于具体情况)。

之所以做出此调整,是因为较新的浏览器比旧的浏览器更符合HTML。

您应该按照HTML规范制作内容,所有现代浏览器都遵循该规范,因为用户在其浏览器和电子邮件客户端(如Outlook)中,不仅会在Campaign中查看内容,还会在Campaign之外查看内容。

如果您无法这样做,则可能会导致HTMLUI差异。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f