IF ELSE 条件が、DCE エディターのHTMLコンテンツ内で移動される
Campaign Classicの DCE エディターのHTMLコンテンツに IF ELSE 条件を実装する方法を説明します。
説明 description
環境
- Adobe Campaign
- Adobe Campaign Classic
- Adobe Campaign Classic V7
問題/症状
HTMLコンテンツに IF ELSE の条件を追加して、そのコンテンツを 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仕様と最新の仕様に合わせて、[ ( より小さい)(パーセント記号) (<)(%) ]、[ (パーセント記号) (より大きい) (%)(>)などの非テーブル タグを使用し ] す。 タグ、または img タグや div タグなどの通常のHTMLのタグは、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 9349 Campaign Classicで発生する可能性がありますが、下位ビルドでは発生しません。
これは、古いビルドでは基になるコントロールが Internet Explorer 7 であり、9349 では IE 11 (またはケースによってはEdge Chromium)であるためです。
これは、新しいブラウザーは古いブラウザーよりもHTMLに準拠しているためです。
HTMLの仕様に従ってコンテンツを作成し、その後、すべての最新のブラウザーを使用する必要があります。コンテンツは、Campaign だけでなく、Campaign 以外の場所でも、ブラウザーやメールクライアント(Outlook など)で表示されるからです。
そうしないと、HTML UI の不一致が発生する可能性があります。