Visão geral
É possível utilizar sintaxe avançada para deixar os blocos de texto, automações e templates ainda mais inteligentes e adaptáveis ao contexto. Essa funcionalidade permite incorporar lógica condicional, iteração de listas, e até chamadas de funções de consulta.A sintaxe avançada transforma conteúdos estáticos em templates dinâmicos que se adaptam automaticamente aos dados disponíveis.
Conceitos-chave
Variáveis dinâmicas
Acesse dados com chaves delimitadas por
{{ ... }}.Exemplos:{{ nome }}{{ etapa.atual }}{{ project.data_inicio }}
Condicionais (if/else)
Mostre conteúdos diferentes baseado em condições lógicas.
Loops (for)
Itere sobre listas e gere blocos repetitivos.
Filtros
Transforme dados com funções especiais.Exemplos:
{{ nome|upper }}{{ data|date("d/m/Y") }}{{ itens|length }}
Variáveis dinâmicas
As variáveis permitem inserir dados dinamicamente no conteúdo.Sintaxe básica
- Variáveis simples
- Variáveis aninhadas
- Arrays e listas
Verificação de existência
Antes de usar uma variável, você pode verificar se ela existe:Condicionais
Condicionais permitem exibir conteúdo diferente baseado em condições.Estrutura if/else
- If simples
- If/Else
- If/Elseif/Else
Operadores de comparação
Igualdade e diferença
Igualdade e diferença
Comparações numéricas
Comparações numéricas
Operadores lógicos
Operadores lógicos
Testes especiais
Testes especiais
Loops (for)
Loops permitem iterar sobre listas e arrays para gerar conteúdo repetitivo.Estrutura básica
- Lista simples
- Com índice
- Com condicionais
- Loop vazio
Loops com ranges
Filtros
Filtros transformam dados antes de exibi-los.Sintaxe de filtros
- Texto
- Números
- Datas
- Arrays
- Objetos
Filtros especiais da Olie
mention
mention
default
default
Define um valor padrão se a variável for vazia.
escape
escape
Escapa caracteres especiais para segurança.
json
json
Converte para JSON. Muito útil para debugar e exibir dados em formato JSON.
Funções de consulta
Nem tudo que você precisa está disponível no contexto. A funçãoquery busca o que falta, direto da plataforma, no meio da expressão.
Sintaxe
query quase sempre vem com set:
Consultas disponíveis
Exemplos
- Etiquetas do projeto
- Respostas de um formulário
- E-mail de um responsável
- Descobrir o formato
Etiquetas não vêm carregadas no contexto — é preciso buscá-las:
Cuidados
Limite de consultas
Limite de consultas
Cada expressão pode executar no máximo 50 consultas. Um
query dentro de um laço conta uma vez por iteração — cuidado ao consultar dentro de for.Quando a consulta não encontra nada
Quando a consulta não encontra nada
O retorno é nulo. Proteja antes de usar:
Nome ou parâmetro errado
Nome ou parâmetro errado
Um nome de consulta que não existe, ou a falta de um parâmetro obrigatório, interrompe a expressão e registra
template_error. O registro de execução mostra a mensagem.Escopo e repetição
Escopo e repetição
As consultas são resolvidas sempre dentro da sua própria conta — não há como acessar dados de outra. E a mesma consulta, com os mesmos parâmetros, é reaproveitada em vez de repetida.
Variáveis nas automações
O que já vem carregado no contexto de uma automação — e, portanto, dispensa
query.Formulários dinâmicos e o pivot
O que é o
pivot, por que ele muda de formato e como descobrir o endereço certo.Como funciona o mecanismo
Por trás da sintaxe avançada, a plataforma utiliza um mecanismo baseado no Twig, uma das engines de templates mais modernas e seguras do ecossistema web.O Twig é amplamente adotado por frameworks robustos e foi adaptado aqui para permitir automação lógica dentro dos conteúdos da plataforma, de forma controlada e intuitiva.
Documentação oficial do Twig
Para usuários avançados ou desenvolvedores, vale a pena conferir a documentação oficial do Twig para explorar todo o potencial da sintaxe:Documentação do Twig
Acesse a documentação completa do Twig para aprender sobre recursos avançados, filtros adicionais e melhores práticas.