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规范和现代规范,非表标记将变为[小于)(百分比符号) (< )(%)][ (百分比符号)(大于) (%)(> )]  tr标记或td标记之间不允许标记,甚至不允许常规HTML标记,如img标记和div标记。

浏览器会将所有此类标记推出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