Criação de mapeamentos de formulário personalizados creating-custom-form-mappings
Ao criar uma tabela personalizada no Adobe Campaign, talvez você queira criar um formulário no AEM que mapeie para essa tabela personalizada.
Este documento descreve como criar mapeamentos de formulário personalizados. Ao concluir as etapas neste documento, você fornecerá aos usuários uma página de evento em que eles poderão se inscrever para um evento futuro. Em seguida, você acompanha esses usuários por meio da Adobe Campaign.
Pré-requisitos prerequisites
Você precisa ter o seguinte instalado:
- Adobe Experience Manager
- Adobe Campaign Classic
Consulte Integração do AEM com o Adobe Campaign Classic para obter mais informações.
Criação de mapeamentos de formulário personalizados creating-custom-form-mappings-2
Para criar mapeamentos de formulário personalizados, é necessário seguir essas etapas de alto nível, descritas detalhadamente nas seguintes seções:
- Crie uma tabela personalizada.
- Estender o semente tabela.
- Crie um mapeamento personalizado.
- Crie um delivery com base no mapeamento personalizado.
- Crie o formulário no AEM, que usará o delivery criado.
- Envie o formulário para testá-lo.
Criação da tabela personalizada no Adobe Campaign creating-the-custom-table-in-adobe-campaign
Comece criando uma tabela personalizada no Adobe Campaign. Neste exemplo, estamos usando a seguinte definição para criar uma tabela de eventos:
<element autopk="true" label="Event" labelSingular="Event" name="event">
<attribute label="Event Date" name="eventdate" type="date"/>
<attribute label="Event Name" name="eventname" type="string"/>
<attribute label="Email" name="email" type="string"/>
<attribute label="Number of Seats" name="seats" type="long"/>
</element>
Depois de criar a tabela de eventos, execute o Assistente para atualização da estrutura do banco de dados para criar a tabela.
Extensão da tabela de sementes extending-the-seed-table
No Adobe Campaign, toque/clique Adicionar para criar uma nova extensão do Seed addresses (nms) tabela.
Agora, use os campos do evento tabela para estender o semente tabela:
<element label="Event" name="custom_cus_event">
<attribute name="eventname" template="cus:event:event/@eventname"/>
<attribute name="eventdate" template="cus:event:event/@eventdate"/>
<attribute name="email" template="cus:event:event/@email"/>
<attribute name="seats" template="cus:event:event/@seats"/>
</element>
Depois disso, execute Assistente para atualização do banco de dados para aplicar as alterações.
Criação de mapeamento de destino personalizado creating-custom-target-mapping
Em Administração/Gerenciamento de campanha t, vá para Mapeamentos do Target e adicionar um novo T Mapeamento do Target.
Criação de um template de delivery personalizado creating-a-custom-delivery-template
Nesta etapa, você está adicionando um template do delivery que usa o Target mapping.
Em Recursos/modelos, navegue até o Modelo de entrega e duplique o delivery AEM existente. Ao clicar em Para, selecione criar evento Target mapping.
Criação do formulário no AEM building-the-form-in-aem
No AEM, verifique se você configurou um Cloud Service in Propriedades da página.
Em seguida, no Adobe Campaign selecione o delivery criado em Criação de um template de delivery personalizado.
Ao configurar os campos, especifique nomes de elemento exclusivos para os campos de formulário.
Depois que os campos forem configurados, será necessário alterar manualmente o mapeamento.
No CRXDE-lite, acesse jcr:content (da página) e altere o nó acMapping para o nome interno da Target mapping.
Na configuração do formulário, marque a caixa de seleção para criar se não existir
Envio do formulário submitting-the-form
Agora é possível enviar o formulário e validar no lado do Adobe Campaign se os valores são salvos.
Resolução de problemas troubleshooting
"Tipo inválido para o valor '02/02/2015' do elemento '@eventdate' (documento do tipo 'Event ([adb:event])"
Ao enviar o formulário, esse erro é registrado no error.log em AEM.
Isso ocorre devido a um formato inválido para o campo de data. A solução alternativa é fornecer aaaa-mm-dd como o valor.