Fundamentos do trabalho com modelos
Os modelos oferecem suporte a variáveis definidas e a uma sintaxe especial, que proporciona mais possibilidades do que os modelos estáticos. Ou seja, um determinado texto é transformado segundo regras definidas. Se você já trabalhou com o mecanismo de modelos Twig, então já sabe quase tudo o que é necessário. Nesta página está descrita a funcionalidade básica disponível. Aqueles que desejarem saber mais podem consultar a documentação oficial do Twig. No entanto, nem todas as possibilidades do Twig estão disponíveis nos nossos modelos, por isso não se esqueça de verificar o resultado usando a função de pré-visualização, bem como de fazer envios de teste para as suas próprias contas antes de iniciar uma campanha para um grande número de usuários reais.
Variáveis disponíveis nos modelos:
- subscriber — é um objeto que contém informações sobre o assinante atual. Você pode ver a estrutura completa desta variável em uma página separada.
- campaign — é um objeto que contém informações sobre a campanha de envios atual. Você pode ver a estrutura completa desta variável em uma página separada. Esta variável não conterá dados no modo de pré-visualização, pois ele funciona fora do contexto de qualquer campanha de envios.
- unsubscribe_url — é um link HTTP para a nossa página, onde o assinante pode cancelar a assinatura da campanha de envios atual. Se você tiver as suas próprias configurações de assinatura no seu site, poderá usar um link de cancelamento que leve ao seu site. Se o assinante não encontrar uma possibilidade simples e conveniente de cancelar a assinatura de um envio indesejado, ele provavelmente marcará o seu e-mail como spam, por isso recomendamos oferecer em cada e-mail a possibilidade de cancelamento. Esta variável não estará disponível no modo de pré-visualização.
Nos modelos é possível usar variáveis
Para usar uma variável, é preciso envolvê-la em chaves duplas. Por exemplo, para exibir a variável test126, é preciso escrever {{ test126 }}. O respeito ao caso (letras maiúsculas e minúsculas) é obrigatório, e os espaços — opcionais. Ou seja, é possível escrever {{test126}} ou {{ test126 }}, mas {{ TESt126 }} — não é possível. A variável test126 é um exemplo, na realidade essa variável não existe entre nós.
Se a variável for um objeto complexo e tiver suas próprias propriedades, o acesso a elas é feito por meio de um ponto. Por exemplo, o acesso à propriedade id da variável subscriber fica assim: {{ subscriber.id }}. Este é um exemplo real — nos modelos está disponível a variável subscriber, e ela tem a propriedade id. A lista completa de propriedades pode ser vista em uma página separada. Aos arrays é possível acessar por índice, usando colchetes. Ao mesmo tempo, é preciso ter certeza de que tal índice existe. Por exemplo, {{ subscriber.tags[0] }}. Se o assinante não tiver nenhuma tag, a tentativa de exibir a primeira (com índice 0) tag não exibirá nada (ou seja, será exibida uma «string vazia», como dizem os programadores).
É possível realizar operações básicas com dados
São suportadas operações matemáticas:
- adição
{{ price + tax }} - multiplicação
{{ count * 2 }} - divisão
{{ total / 3 }}
Operador condicional (IF)
- if básico
{% if subscriber.is_active %} Você está inscrito no envio {% endif %} - operador if com bloco else
{% if subscriber.is_active %} Você está inscrito no envio {% else %} Você cancelou a inscrição do envio {% endif %} - Cadeia de verificações
{% if subscriber.gender == 'male' %} Você é homem {% elseif subscriber.gender == 'female' %} Você é mulher {% elseif subscriber.gender == '' %} O seu sexo não está indicado {% endif %}
O operador if obrigatoriamente tem uma tag de abertura {% if condition %} e uma tag de fechamento {% endif %}. Dentro é possível colocar qualquer quantidade de seções {% elseif condition %}. Também opcionalmente é possível adicionar uma seção {% else %}, que será acionada sem condições adicionais, se a execução chegar até ela. Ou seja, se as condições de acionamento (condition) de todas as partes anteriores do operador if não forem cumpridas.
Ciclos (FOR)
Os ciclos são necessários para exibir listas. Imaginemos que temos uma lista armazenada na variável items. Eis como é possível percorrê-la:
{% for item in items %} {{ item }}{% endfor %}
O valor da variável item será diferente a cada iteração do ciclo. Dentro do ciclo também estão disponíveis algumas outras variáveis referentes à iteração atual:
- loop.index — número da iteração, começa em 1
- loop.first — é a primeira iteração? (true/false)
- loop.last — é a última iteração? (true/false)
O ciclo pode ser combinado com uma verificação da presença de dados:
{% for item in items %} {{ item }}{% else %} O array items está vazio{% endfor %}