Condição ELSE IF movida para conteúdo HTML no editor DCE

Última atualização em 2023-05-16

Descrição

Ambiente

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

Problema/Sintomas
Como adicionar um IF ELSE para o conteúdo do HTML e importe o conteúdo no modo de editor do DCE, por exemplo:

`<` table`>`

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

`<` tr`>`

`<` td`>` A`<` /td`>`

`<` /tr`>`

`<` % } else { %`>`

`<` tr`>`

`<` td`>` B`<` td`>`

`<` /tr`>`

`<` % } %`>`

`<` /table`>`

A finalidade da condição é exibir determinadas partes do conteúdo para os recipients se seu endereço de email for igual a xxxxx@email.com. Depois de salvar a mensagem, observamos que a variável IF ELSE é movida para a parte superior do conteúdo do email.

Resolução

Esse comportamento é esperado.

Com especificações de HTML em evolução e especificações modernas, tags não-tabela como [ (less-than)(sinal de porcentagem) (< )(%)] , [ (sinal de porcentagem)(maior que) (%)(> )]  tags ou até tags HTML comuns como img tags e div tags não são permitidas entre tr tags ou td tags.

Todas essas tags são enviadas do table pelo navegador.

Esta é a utilização correta:

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

Esse problema pode ser observado no Campaign Classic V7 9349, mas não em builds mais baixas.

Isso ocorre porque em builds mais antigas, o controle subjacente era o Internet Explorer 7 e, em 9349, é o IE 11 (ou Edge Chromium, dependendo do caso).

Esse ajuste foi feito porque os navegadores mais recentes são mais compatíveis com o HTML do que os mais antigos.

Você deve fazer o conteúdo de acordo com a especificação do HTML, que é seguida por todos os navegadores modernos, pois o conteúdo não será apenas exibido na Campanha, mas fora da Campanha pelos usuários em seus navegadores e clientes de email (como o Outlook).

Se você não conseguir fazer isso, isso pode causar discrepâncias na interface do usuário do HTML.

Nesta página