Pular para o conteúdo principal

BuildOptionList

Descrição

Cria um conjunto de tags <option> prontas para serem integradas em formulários HTML em páginas web. É a função ideal quando você precisa montar dropdowns (<select>) em CloudPages - como formulários de cadastro, pesquisas de satisfação ou preference centers. O retorno é uma string com as tags <option> geradas, já com a opção padrão pré-selecionada.

Sintaxe

BuildOptionList(defaultSelection, option1Value, option1Text [, option2Value, option2Text ...])

Parâmetros

ParâmetroTipoObrigatórioDescrição
defaultSelectionstring ou numberSimA opção que será selecionada por padrão no dropdown.
option1ValuestringSimIdentificador da primeira opção. Define o atributo value da tag <option>.
option1TextstringSimTexto exibido para o usuário na primeira opção. Cada opção da lista requer um par de valor e texto. Você pode adicionar quantas opções precisar, acrescentando pares optionNValue, optionNText ao final da função.

Exemplo básico

Formulário em uma CloudPage para o cliente da Lojas Vitória escolher a cidade de entrega:

%%[

SET @listaCidades = BuildOptionList(
"SP",
"SP", "São Paulo",
"RJ", "Rio de Janeiro",
"BH", "Belo Horizonte",
"CWB", "Curitiba"
)

]%%

<form action="%%=CloudPagesURL(456)=%%" method="post">
<label for="cidade">Escolha sua cidade de entrega:</label>
<select name="cidade" id="cidade">
%%=v(@listaCidades)=%%
</select>
<button type="submit">Confirmar</button>
</form>

Saída:

<form action="https://cloud.e.lojasvitoria.com.br/pagina" method="post">
<label for="cidade">Escolha sua cidade de entrega:</label>
<select name="cidade" id="cidade">
<option value="SP" selected>São Paulo</option>
<option value="RJ">Rio de Janeiro</option>
<option value="BH">Belo Horizonte</option>
<option value="CWB">Curitiba</option>
</select>
<button type="submit">Confirmar</button>
</form>

Exemplo avançado

Preference Center da Conecta Telecom onde o assinante escolhe com que frequência quer receber comunicações. O valor padrão é recuperado da Data Extension de preferências do cliente, garantindo que a seleção atual dele já apareça marcada ao abrir a página:

%%[

SET @email = RequestParameter("email")
SET @frequenciaAtual = Lookup("PreferenciasClientes", "Frequencia", "Email", @email)

IF Empty(@frequenciaAtual) THEN
SET @frequenciaAtual = "semanal"
ENDIF

SET @opcoesFrequencia = BuildOptionList(
@frequenciaAtual,
"diario", "Diário - todos os dias úteis",
"semanal", "Semanal - uma vez por semana",
"quinzenal", "Quinzenal - a cada 15 dias",
"mensal", "Mensal - uma vez por mês"
)

]%%

<h2>Olá! Atualize suas preferências de comunicação</h2>
<form action="%%=CloudPagesURL(789)=%%" method="post">
<input type="hidden" name="email" value="%%=v(@email)=%%" />

<label for="frequencia">Com que frequência deseja receber nossas ofertas?</label>
<select name="frequencia" id="frequencia">
%%=v(@opcoesFrequencia)=%%
</select>

<button type="submit">Salvar preferências</button>
</form>

Saída (considerando que o cliente tinha "quinzenal" salvo):

<h2>Olá! Atualize suas preferências de comunicação</h2>
<form action="https://cloud.e.conectatelecom.com.br/preferencias" method="post">
<input type="hidden" name="email" value="joao.silva@email.com.br" />

<label for="frequencia">Com que frequência deseja receber nossas ofertas?</label>
<select name="frequencia" id="frequencia">
<option value="diario">Diário - todos os dias úteis</option>
<option value="semanal">Semanal - uma vez por semana</option>
<option value="quinzenal" selected>Quinzenal - a cada 15 dias</option>
<option value="mensal">Mensal - uma vez por mês</option>
</select>

<button type="submit">Salvar preferências</button>
</form>

Observações

  • A função gera tags <option> para integração em formulários HTML em páginas web (CloudPages). Ela não gera o <select> - você precisa envolvê-la manualmente com as tags <select>.

  • Cada opção da lista exige dois parâmetros: o valor (value) e o texto de exibição. Você pode criar quantas opções precisar, basta acrescentar pares ao final da chamada.

  • O parâmetro defaultSelection define qual opção aparecerá com o atributo selected. Isso é especialmente útil em preference centers, onde você quer que o formulário já reflita a escolha atual do cliente.

💡 Dica: Combine com Lookup para buscar a preferência atual do assinante e passá-la como defaultSelection. Assim o dropdown já abre na opção certa, melhorando a experiência do usuário.

💡 Dica: Após o envio do formulário, use RequestParameter na página de destino para capturar o valor selecionado, e UpsertDE para salvar a escolha.

Funções relacionadas

  • CloudPagesURL - para gerar a URL de destino do formulário
  • RequestParameter - para capturar o valor enviado pelo formulário
  • Lookup - para buscar a seleção atual do assinante em uma Data Extension
  • UpsertDE - para salvar a escolha do formulário na Data Extension
  • V - para exibir o resultado da função no HTML