Filtros HubL
Os filtros afetam a saída final do HubL. Eles podem ser aplicados a várias instruções e expressões do HubL para alterar a marcação do modelo emitido pelo servidor.
A sintaxe básica de um filtro é |filtername
. O filtro é adicionado diretamente após a instrução ou a expressão, dentro dos seus delimitadores. Alguns filtros têm parâmetros adicionais que podem ser adicionados entre parênteses. A sintaxe básica de um filtro com uma string, um número e um parâmetro booleano é: |filtername("stringParameter", 10, true)
. Observe que os parâmetros das strings devem ser escritos entre aspas. Observe também que os filtros do HubL têm alias que podem ser usados da mesma forma que o filtro principal.
O artigo a seguir contém todos os filtros do HubL suportados.
Observação: você pode aplicar os filtros do HubL a tokens de personalização, como tokens de contato e da empresa, nas páginas do CMS e do blog do HubSpot, mas não nos e-mails.
Adiciona um valor numérico a outro valor numérico. Este filtro funciona da mesma forma que o operador +. O parâmetro entre parênteses é o adendo que você está combinando com o seu valor numérico inicial.
Renderiza o atributo de um dicionário. Este filtro é o equivalente a imprimir uma variável que existe dentro de um dicionário, tal como content.absolute_url.
Parameter | Description |
---|---|
attribute_name
Obrigatório
| Especifica qual o atributo imprimir |
Um filtro de lote agrupa itens dentro de uma sequência.
Parameter | Description |
---|---|
linecount
Obrigatório
| O número de itens a incluir no lote |
fill_with
Opcional
| Especifica o que incluir para preencher qualquer item em falta |
No exemplo abaixo, há uma variável contendo uma sequência de tipos de frutas. O filtro de lote é aplicado a um loop que é iterado pela sequência. O loop agrupado é executado três vezes para imprimir três tipos de fruta por linha, antes de o loop externo ser executado novamente. Observe na saída final que existem apenas cinco tipos de fruta: o item final é substituído por   (o segundo parâmetro).
Calcula o tempo entre dois objetos de data e hora na unidade de tempo especificada.
Parameter | Description |
---|---|
end
Obrigatório
| O objeto de data/hora final |
timeunit
Obrigatório
| As unidades de tempo válidas são nanos , micros , millis , seconds , minutes , hours , half_days , days , weeks , months , years , decades , centuries , millennia e eras . |
Transforma em maiúscula a primeira letra de um valor de variável. O primeiro caractere será maiúsculo, todas as outras letras serão minúsculas. As palavras subsequentes separadas por espaços ou hifens não terão a primeira letra em maiúscula.
O filtro center utiliza espaços em branco para centralizar o texto dentro de um determinado comprimento de campo. Este filtro não é recomendado ou útil, pois o compilador HTML da HubSpot removerá automaticamente os espaços em branco; no entanto, ele está incluído aqui por uma questão de abrangência.
Parameter | Description |
---|---|
width
Obrigatório
| Especifica o comprimento dos espaços em branco para centralizar o texto. |
O exemplo abaixo mostra um filtro center aplicado a uma variável em uma tag prévia, para que os espaços em branco não sejam removidos.
Converte um valor HEX para uma string RGB. É útil se você precisar converter variáveis de cor para RGB para usá-las com uma declaração CSS RGBA. No exemplo abaixo, o valor definido por um módulo de cor é convertido para um valor RGB e usado em uma declaração CSS RGBA.
Remove uma string de um valor. Este filtro pode ser usado para combinar e cortar uma parte específica de uma string. O parâmetro especifica a parte da string que deve ser removida. O exemplo abaixo remove o espaço e a palavra "world" do valor da variável original.
Parameter | Description |
---|---|
characters_to_cut
Obrigatório
| A parte da string que deve ser removida. |
Observação: este filtro foi descontinuado. Em vez disso, você deve usar o filtro format_datetime, que usa uma sintaxe mais padronizada.
Se o valor não estiver definido, retornará o primeiro parâmetro; caso contrário, o valor da variável será impresso. Se você quiser usar o padrão com variáveis que avaliam como falso, precisará definir o segundo parâmetro como verdadeiro. O primeiro exemplo abaixo imprimiria a mensagem se a variável não estivesse definida. O segundo exemplo aplicou o filtro a uma string vazia, que não é indefinida, mas imprime uma mensagem devido ao segundo parâmetro.
Parameter | Description |
---|---|
default_variable
Obrigatório
| Valor a retornar se a variável não estiver definida. Se a variável estiver definida, o valor da variável será retornado em seu lugar. |
boolean
Opcional
| Retorna default_value se a variável for uma string vazia |
Classifica um dicionário e produz pares (chave, valor). Os dicionários não são classificados por padrão, mas você pode imprimir um dicionário classificado por chave ou valor. O primeiro parâmetro é um booleano para determinar se a classificação diferencia ou não maiúsculas de minúsculas. O segundo parâmetro determina se o dicionário deve ser classificado por chave ou por valor. O exemplo abaixo imprime um dicionário de contatos classificado, com todos os detalhes conhecidos sobre o contato.
Parameter | Description |
---|---|
case_sensitive
Obrigatório
| Determina se a classificação diferencia maiúsculas de minúsculas |
sort_by
Obrigatório
| Determina se deve ser classificado por key ou por value |
Este filtro retorna a diferença de dois conjuntos ou listas. A lista retornada pelo filtro contém todos os elementos únicos que estão na primeira lista, mas não na segunda.
Parameter | Description |
---|---|
list
Obrigatório
| A segunda lista a ser comparada para encontrar as diferenças em relação à lista original. |
Uma alternativa ao teste de divisibilidade por expressão; o filtro divisible avaliará se o valor pode ser dividido pelo número dado.
Parameter | Description |
---|---|
divisor
Obrigatório
| O número a usar ao avaliar se o valor pode ser dividido. |
Limpa o conteúdo de uma entrada HTML. Aceita uma string e converte os caracteres &
, <
, >
, ‘
, ”
e escape_jinjava
em sequências seguras para HTML. Use esse filtro para variáveis HubL usadas em HTML, mas que não devem permitir nenhum HTML.
Limpa o conteúdo de uma entrada de atributo de HTML. Aceita uma string e converte os caracteres &
, <
, ‘
, ”
e escape_jinjava
em sequências seguras para HTML. Use esse filtro para variáveis HubL que estão sendo adicionadas aos atributos HTML.
Observe que, ao limpar valores de atributos que aceitam URLs, como href
, você deve usar o filtro escape_url
.
Converte os caracteres {
and }
em strings para sequências seguras para Jinjava. Use este filtro se você precisar exibir texto que possa conter tais caracteres em Jinjava.
Limpa as strings, incluindo escape_jinjava
, para que possam ser inseridas em segurança em uma declaração de variável JavaScript. Use esse filtro para variáveis HubL usadas dentro de elementos de script HTML.
Limpa o conteúdo de uma entrada de URL, impondo protocolos especificados e removendo caracteres inválidos e perigosos, além de codificar entidades HTML. Retorna em branco se um URL for válido. Use esse filtro para variáveis HubL usadas em atributos HTML que devem ser URLs válidos.
Limpa as strings para que possam ser usadas como valores JSON.
Formate o valor como um arquivo de tamanho "legível por humanos" (ou seja, 13 kB, 4,1 MB, 102 Bytes etc.). Prefixos decimais (Mega, Giga etc.); são usados por padrão; se o parâmetro estiver definido como True, serão usados prefixos binários (Mebi, Gibi).
Parameter | Description |
---|---|
boolean
Opcional
| Se definido como verdadeiro, são usados prefixos binários, como Mebi e Gibi. |
Converte o valor em um número de ponto flutuante. Se a conversão não funcionar, ela retornará 0,0. Você pode substituir este padrão usando o primeiro parâmetro.
Parameter | Description |
---|---|
default
Opcional
| Número inteiro a retornar se a conversão não funcionar. |
Força a limpeza do HTML. No ambiente HubSpot, não há um caso de uso para escape duplo; isso geralmente se comporta da mesma forma que o filtro de escape.
Formata um determinado número como uma moeda com base na moeda padrão do portal e no local passado como parâmetro. Substitui o filtro format_CURRENCY descontinuado.
Parameter | Description |
---|---|
locale
Opcional
| A tag da linguagem local Java. O padrão é locale.Format da página: ISO639LanguageCodeInLowercase-ISO3166CountryCodeInUppercase |
currency
Opcional
| o código alfabético ISO 4217 da moeda; o padrão é a moeda padrão dos portais. Códigos numéricos não são aceitos. |
minDecimalDigits
Opcional
| O número mínimo de dígitos decimais a serem usados. O padrão é o número padrão de dígitos decimais da moeda. |
maxDecimalDigits
Opcional
| O número máximo de dígitos decimais a serem usados. O padrão é o número padrão de dígitos decimais da moeda. |
Parameter | Description |
---|---|
format
Opcional
| O formato a ser usado. Pode ser um dos seguintes:
|
timeZone
Opcional
| O fuso horário da data de saída no formato IANA TZDB. |
locale
Opcional
| A localidade a ser usada para formatos com reconhecimento de localidade. |
Parameter | Description |
---|---|
format
Opcional
| O formato a ser usado. Pode ser um dos seguintes:
Ao usar |
timeZone
Opcional
| O fuso horário da data de saída no formato IANA TZDB. Por padrão, retorna a hora UTC. |
locale
Opcional
| A localidade a ser usada para formatos com reconhecimento de localidade. |
Parameter | Description |
---|---|
format
Opcional
| O formato a ser usado. Pode ser um dos seguintes:
|
timeZone
Opcional
| O fuso horário da data de saída no formato IANA TZDB. |
locale
Opcional
| A localidade a ser usada para formatos com reconhecimento de localidade. |
O filtro groupby agrupa uma sequência de objetos por um atributo comum. O parâmetro define o atributo comum pelo qual deve-se fazer o agrupamento.
Parameter | Description |
---|---|
attribute
Obrigatório
| O atributo pelo qual agrupar. |
O filtro indent usa espaços em branco para recuar o texto dentro de um determinado comprimento de campo. Este filtro não é recomendado ou útil, pois o compilador HTML da HubSpot removerá automaticamente os espaços em branco; no entanto, ele está incluído aqui por uma questão de abrangência. O exemplo abaixo mostra um filtro center aplicado a uma variável em uma tag prévia, para que os espaços em branco não sejam removidos. O primeiro parâmetro controla a quantidade de espaços em branco e o segundo booleano alterna se a primeira linha deve ser recuada.
Parameter | Description |
---|---|
width
Obrigatório
| A quantidade de espaços em branco a ser aplicada. |
boolean
Obrigatório
| Um valor booleano sobre se a primeira linha deve ser recuada. |
Converte o valor em um número inteiro. Se a conversão não funcionar, ela retornará zero. Você pode substituir este padrão usando o primeiro parâmetro.
Parameter | Description |
---|---|
default
Obrigatório
| Número inteiro a retornar se a conversão não funcionar. |
Este filtro retorna a intersecção de dois conjuntos ou listas. A lista retornada pelo filtro contém todos os elementos únicos que estão contidos em ambas as listas.
Parameter | Description |
---|---|
list
Obrigatório
| A segunda lista a ser comparada ao buscar a intersecção com a lista original. |
Retorna uma string que é a concatenação das strings na sequência. O separador entre os elementos é uma string vazia por padrão. Você pode defini-la com o parâmetro opcional. O segundo parâmetro pode ser usado para especificar um atributo para unir.
Parameter | Type | Description |
---|---|---|
delimiter
Opcional
| String | O delimitador que será usado para concatenar as strings. |
attribute
Opcional
| Variável HubL | Atributo de valor para participar de um objeto. |
Converte valores numéricos em uma lista. Caso seja uma string, a lista retornada será uma lista de caracteres. Para adicionar strings a uma sequência, basta adicioná-la às variáveis da string nos delimitadores da sequência [ ].
Aplica um filtro em uma sequência de objetos ou procura um atributo. É útil ao lidar com listas de objetos, quando você só está interessado em um determinado valor.
Geralmente, é usado para mapear um atributo. Por exemplo, se você quiser usar a lógica condicional para verificar se um valor está presente em um determinado atributo de um dicionário. Como alternativa, você pode deixá-lo invocar um filtro, passando o nome do filtro e os argumentos depois.
Parameter | Description |
---|---|
attribute
| Atributo a retornar na sequência de objetos. |
filter
| Filtro a aplicar à sequência de objetos. |
Calcula o hash md5 do objeto em questão
Subtrai uma quantidade de tempo de um objeto de data/hora.
Parameter | Description |
---|---|
diff
Obrigatório
| Valor a subtrair. |
timeunit
Obrigatório
| As unidades de tempo válidas são nanos , micros , millis , seconds , minutes , hours , half_days , days , weeks , months , years , decades , centuries , millennia e eras . |
Multiplica um valor por um número. Funciona da mesma forma que o operador *.
Adiciona uma quantidade de tempo a um objeto de data/hora.
Parameter | Description |
---|---|
diff
Obrigatório
| Valor a adicionar. |
timeunit
Obrigatório
| As unidades de tempo válidas são nanos , micros , millis , seconds , minutes , hours , half_days , days , weeks , months , years , decades , centuries , millennia e eras . |
Retorna um item aleatório da sequência.
Observação: ao usar este filtro, a página será pré-renderizada periodicamente, em vez de sempre que o conteúdo da página for atualizado. Isso significa que o conteúdo filtrado não será atualizado em cada recarga de página.
Isso pode não ser um problema para certos tipos de conteúdo, como exibir uma lista aleatória de posts de blog. No entanto, se você precisar que o conteúdo seja alterado aleatoriamente em cada carregamento de página, use o JavaScript para randomizar o conteúdo do lado do cliente.
Procura um padrão regex e o substitui por uma sequência de caracteres. O primeiro argumento é um padrão regex no estilo RE2; o segundo é a string de substituição.
Informações sobre a sintaxe regex RE2 podem ser encontradas aqui.
Filtra uma sequência de objetos aplicando um teste de expressão ao objeto e rejeitando aqueles que passaram com sucesso no teste.
Parameter | Description |
---|---|
exp_text
| O teste de expressão a aplicar ao objeto. |
Filtra uma sequência de objetos aplicando um teste a um atributo de um objeto e rejeitando aqueles que passaram com sucesso no teste.
Parameter | Description |
---|---|
attribute_name
Obrigatório
| Especifica o atributo a selecionar. Você pode acessar os atributos aninhados usando a notação de pontos. |
exp_test
Opcional
| A expressão para testar |
val
Opcional
| Valor a testar. |
Substitui todas as instâncias de uma substring por uma nova.
Parameter | Description |
---|---|
old
Obrigatório
| A substring que deve ser substituída. |
new
Obrigatório
| A string de substituição. |
count
Opcional
| Se fornecido, apenas as ocorrências de primeira contagem são substituídas. |
Reverte o objeto ou retorna um iterador que itera sobre ele ao contrário. Para reverter uma lista, use .reverse()
Arredonde o número para uma determinada precisão.
Parameter | Description |
---|---|
precision
Opcional
| Especifica a precisão do arredondamento. |
rounding_method
Opcional
| As opções de arredondamento incluem common, para cima ou para baixo (padrão); ceil, sempre arredonda para cima; floor, sempre arredonda para baixo. Se você não especificar um método, common será usado. |
Limpa o conteúdo de uma entrada HTML para a saída de conteúdo de rich text. Aceita uma string e, em seguida, remove as tags HTML que não são permitidas. Use esse filtro para variáveis HubL usadas em HTML que devem permitir HTML seguro.
Ao usar esse filtro, você pode incluir os seguintes parâmetros para permitir tipos específicos de tags HTML: FORMATTING
, BLOCKS
, STYLES
, LINKS
, TABLES
, IMAGES
. Por exemplo, sanitize_html(IMAGES)
.
Usar sanitize_html
incluirá todos os parâmetros no filtro.
Você também pode incluir um parâmetro STRIP
para remover todo o HTML. Todo o conteúdo também é executado por escape_jinjava
para evitar interpretações aninhadas.
Filtra uma sequência de objetos, aplicando um teste ao objeto e selecionando apenas aqueles que passaram com sucesso no teste.
Parameter | Description |
---|---|
exp_text
| O teste de expressão a aplicar ao objeto. |
Filtra uma sequência de objetos aplicando um teste a um atributo de um objeto e selecionando apenas aqueles que passaram com sucesso no teste.
Parameter | Description |
---|---|
attribute_name
Obrigatório
| Especifica o atributo a selecionar. Você pode acessar os atributos aninhados usando a notação de pontos. |
exp_test
Opcional
| A expressão para testar |
val
Opcional
| Valor a testar. |
Randomiza a ordem de iteração por uma sequência. O exemplo abaixo randomiza um loop padrão do blog.
Observação: ao usar este filtro, a página será pré-renderizada periodicamente, em vez de sempre que o conteúdo da página for atualizado. Isso significa que o conteúdo filtrado não será atualizado em cada recarga de página.
Isso pode não ser um problema para certos tipos de conteúdo, como exibir uma lista aleatória de posts de blog. No entanto, se você precisar que o conteúdo seja alterado aleatoriamente em cada carregamento de página, use o JavaScript para randomizar o conteúdo do lado do cliente.
Divide um iterador e retorna uma lista de listas que contêm esses itens. O primeiro parâmetro especifica quantos itens serão divididos, e o segundo parâmetro especifica os caracteres para preencher as divisões vazias.
Parameter | Description |
---|---|
slices
Obrigatório
| A quantidade de itens que serão divididos. |
filler
Obrigatório
| Especifica os caracteres para preencher as divisões vazias. |
Classifica um iterável. Este filtro requer todos os parâmetros para classificar por um atributo no HubSpot. O primeiro parâmetro é um booleano para inverter a ordem de classificação. O segundo parâmetro determina se a classificação diferencia ou não maiúsculas de minúsculas. E o parâmetro final especifica por qual atributo classificar. No exemplo abaixo, os posts de um blog foram renderizados e classificados em ordem alfabética por nome.
Parameter | Description |
---|---|
reverse
Obrigatório
| O valor booleano para inverter a ordem de classificação. |
case_sensitive
Obrigatório
| O valor booleano que determina se a classificação diferencia maiúsculas de minúsculas. |
attribute
Obrigatório
| O atributo pelo qual classificar. Omita ao classificar uma lista. |
Divide a string de entrada em uma lista em um determinado separador. O primeiro parâmetro especifica o separador pelo qual a variável deve ser dividida. O segundo parâmetro determina quantas vezes a variável deve ser dividida. Qualquer item restante permanece agrupado. No exemplo abaixo, uma string de nomes é dividida no ";" para os quatro primeiros nomes.
Parameter | Description |
---|---|
character_to_split_by
Obrigatório
| Especifica o separador pelo qual a variável deve ser dividida. |
number_of_splits
Opcional
| Determina quantas vezes a variável deve ser dividida. Qualquer item restante permanece agrupado. |
Converte uma string e um formato de data/hora em um objeto de data/hora.
Parameter | Description |
---|---|
datetimeFormat
Obrigatório
|
Soma valores numéricos em uma sequência. O primeiro parâmetro pode especificar um atributo opcional e o segundo parâmetro define o valor a retornar se não houver nada na variável a somar.
Parameter | Description |
---|---|
attribute
Opcional
| Atributo a somar. |
return_if_nothing
Opcional
| Valor a retornar se não houver nada na variável a somar. |
Este filtro retorna a diferença simétrica entre dois conjuntos ou listas. A lista retornada pelo filtro contém todos os elementos únicos que estão na primeira lista, mas não na segunda, ou que estão na segunda lista, mas não na primeira
Parameter | Description |
---|---|
list
Obrigatório
| A segunda lista a ser comparada para encontrar a diferença simétrica com a lista original. |
Retorna uma versão em titlecase do valor. Ou seja, as palavras começarão com letras maiúsculas e todos os caracteres restantes estarão em letra minúscula.
Escreve um objeto como uma string JSON.
Corta o texto após um certo número de caracteres. O padrão é 255. Observe que os caracteres HTML estão incluídos nesta contagem. O comprimento é especificado pelo primeiro parâmetro, que é 255 por padrão. Se o segundo parâmetro for verdadeiro, o filtro cortará o texto no comprimento. Caso contrário, descartará a última palavra. Se o texto foi, de fato, truncado, um sinal de elipse ("...") será adicionado. Se você quiser um sinal de elipse diferente de "...", poderá especificá-lo usando o terceiro parâmetro.
Parameter | Description |
---|---|
number_of_characters
Obrigatório
| Número de caracteres para truncar o texto. O valor padrão é 255. |
breakword
Opcional
| Valor booleano. Se for verdade, o filtro diminuirá o comprimento do texto. Se for falso, descartará a última palavra. |
end
Opcional
| Substitua os caracteres padrão '...' após o truncamento. |
Trunca uma determinada string, respeitando a marcação html (ou seja, fecha adequadamente todas as tags aninhadas). Isso evita que uma tag permaneça aberta após o truncamento. Os caracteres HTML não são contabilizados no total de caracteres. Este filtro tem um parâmetro de comprimento e um parâmetro de símbolo de truncagem. Há um terceiro parâmetro booleano que especifica se as palavras serão quebradas em comprimento. Este parâmetro é falso por padrão, a fim de preservar o comprimento das palavras. Se utilizar apenas um dos parâmetros opcionais, utilize argumentos de palavras-chave, tais como truncatehtml(70, breakwords = false).
Parameter | Description |
---|---|
number_of_characters
Obrigatório
| Número de caracteres para truncar o texto. O valor padrão é 255. |
end
Opcional
| Substitua os caracteres padrão '...' após o truncamento. |
breakword
Opcional
| Valor booleano. Se for verdade, o filtro diminuirá o comprimento do texto. Se for falso, descartará a última palavra. |
Este filtro extrai um conjunto único de uma sequência ou dicionário de objetos. Ao filtrar um dicionário, como uma lista de posts retornados por uma função, você pode especificar qual atributo é usado para deduplicar itens no dicionário.
Parameter | Description |
---|---|
attr
Opcional
| Especifica o atributo que deve ser utilizado ao filtrar um valor do dicionário |
Este filtro converte um objeto datetime em um carimbo de data/hora unix.
Escapes e URL codificam uma string usando a formatação UTF-8. Aceita dicionários e strings regulares, bem como iteráveis em pares.
Decodifica as strings de URL codificadas para a URL original. Aceita dicionários e strings regulares, bem como iteráveis em pares.
Converte URLs de texto simples em links clicáveis. Se você passar um número inteiro adicional para o filtro, ele encurtará as urls para esse número. O segundo parâmetro é um booleano que determina se o link é rel="no follow". O parâmetro final permite especificar se o link será aberto em uma nova aba.
Parameter | Description |
---|---|
shorten_text
Opcional
| O número inteiro que encurtará as urls para o número desejado. |
no_follow
Opcional
| O valor booleano para indicar se o link é rel="no follow". |
target="_blank"
Opcional
| Especifica se o link abrirá em uma nova aba. |
Insere uma quebra nas palavras após um determinado número de caracteres. Funciona melhor em um <pre> porque o HubSpot remove os espaços em branco por padrão.
Parameter | Description |
---|---|
character_count
Obrigatório
| Número de caracteres após o qual quebrar o conteúdo. |
Cria uma string de atributos HTML/XML, com base nos itens de um dicionário. Todos os valores que não são "nenhum"
nem "indefinidos" são ignorados automaticamente. Se o filtro retornar algo, adiciona automaticamente um espaço na frente do item, a menos que o primeiro parâmetro seja falso.
Parameter | Description |
---|---|
autospace
Obrigatório
| O valor booleano que preencherá automaticamente um espaço na frente do item, a menos que definido como falso. |
Agradecemos pelos seus comentários. Eles são muito importantes para nós.