Filtros do Liquid disponíveis

Observação

Desde o dia 12 de outubro de 2022, os portais do Power Apps passaram a ser Power Pages. Mais Informações: O Microsoft Power Pages já está disponível para todos (blog)
Em breve, migraremos e mesclaremos a documentação dos portais do Power Apps com a documentação do Power Pages.

Os filtros líquidos são usados para alterar a saída das cadeias de caracteres, variáveis dos dados e os objetos. São separados do valor que estão sendo aplicados por um |.

{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->

Os filtros aceitam parâmetros. Os filtros podem ser combinados, e são aplicados em ordem da esquerda para a direita.

{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->

{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->

A seção a seguir descreve vários filtros.

Filtros de matriz

Os filtros de matriz são usados para funcionar com matrizes.

batch

Divide uma matriz em várias matrizes de um determinado tamanho.

Código

{% assign batches = entityview.records | batch: 2 %}

{% for batch in batches %}

<ul>

{% for item in batch %}

<li>{{ item.fullname }}</li>

{% endfor %}

</ul>

{% endfor %}

Saída

<ul>

<li>John Smith</li>

<li>Dave Thomas</li>

</ul>

<ul>

<li>Jake Johnson</li>

<li>Jack Robinson</li>

</ul>

concat

Concatena duas matrizes uma única nova matriz.

Dado um item único como parâmetro, a função concat retorna uma nova matriz que consiste na matriz original, com esse item como o último elemento.

Código

Group #1: {{ group1 | join: ', ' }}

Group #2: {{ group2 | join: ', ' }}

Group #1 + Group #2: {{ group1 | concat: group2 | join: ', ' }}

Saída

Group #1: John, Pete, Hannah

Group #2: Joan, Bill

Group #1 + Group #2: John, Pete, Hannah, Joan, Bill

except

Selecione todos os objetos em uma matriz, onde um determinado atributo não tem um determinado valor. (Este é o inverso deonde.)

Código

{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Saída

Jack Robinson

primeira

Retorna o primeiro elemento de uma matriz.

primeiro também pode ser usado com uma notação de ponto especial nos casos em que precisa ser usado em uma marca.

Código

{% assign words = This is a run of text | split:   %}

{{ words | first }}

{% if words.first == This %}

The first word is This.

{% endif %}

Saída

This

The first word is This.

group_by

Agrupe os itens em uma matriz por um determinado atributo.

Código

{% assign groups = entityview.records | group_by: 'address1_city' %}

{% for group in groups %}

{{ group.key }}:

{% for item in group.items %}

{{ item.fullname }}

{% endfor %}

{% endfor %}

Saída

Redmond:

John Smith

Dave Thomas

Jake Johnson

New York:

Jack Robinson

join

Adicione os elementos de uma matriz com o caractere passado como o parâmetro. O resultado é uma única cadeia de caracteres.

Código

{% assign words = This is a run of text | split:   %}

{{ words | join: ,  }}

Saída

This, is, a, run, of, text

última

Retorna o último elemento de uma matriz.

último também pode ser usado com uma notação de ponto especial nos casos em que precisa ser usado em uma marca.

Código

{% assign words = This is a run of text | split:   -%}

{{ words | last }}

{% if words.last == text -%}

The last word is text.

{% endif -%}

Saída

text

The last word is text.

ordenar_por

Retorna os elementos de uma matriz ordenada por um determinado atributo dos elementos da matriz.

Se preferir, você pode fornecer desc como parâmetro secundário para classificar os elementos em ordem decrescente, e não crescente.

Código

{{ entityview.records | order_by: 'fullname' | join: ', ' }}

{{ entityview.records | order_by: 'fullname', 'desc' | join: ', ' }}

Saída

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

random

Retorna um único item selecionado aleatoriamente a partir da matriz.

Código

{{ group1 | join: ', ' }}

{{ group1 | random }}

Saída

John, Pete, Hannah

Pete

select

Seleciona o valor de um determinado atributo para cada item em uma matriz e retorna esses valores como uma matriz.

Código

{{ entityview.records | select: 'address1_city' | join: ', ' }}

Saída

Redmond, New York

shuffle

Aplicado a uma matriz, retorna uma nova matriz com os mesmos itens, em ordem aleatória.

Código

{{ group1 | join: ', ' }}

{{ group1 | shuffle | join: ', ' }}

Saída

John, Pete, Hannah

Hannah, John, Pete

size

Retorna o número de itens em uma matriz.

O tamanho também pode ser usado com uma notação de ponto especial nos casos em que precisa ser usado dentro de uma marca.

Código

{% assign words = This is a run of text | split:   -%}

{{ words | size }}

{% if words.size == 6 -%}

The text contains 6 words.

{% endif -%}

Saída

6

The text contains 6 words.

skip

Ignora um determinado número de itens em uma matriz e retorna o restante.

Código

{% assign words = This is a run of text | split:   %}

{{ words | skip: 3 | join: ', ' }}

Saída

run, of, text

take

Retira um determinado número de itens da matriz, retornando os itens retirados.

Código

{% assign words = This is a run of text | split:   %}

{{ words | take: 3 | join: ', ' }}

Saída


This, is, a

then_by

Adiciona outra ordem subsequente a uma matriz já classificada porclassificada_por.

Se preferir, você pode fornecer desc como parâmetro secundário para classificar os elementos em ordem decrescente, e não crescente.

Código

{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname' | join: ', ' }}

{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname', 'desc' | join: ', ' }}

Saída

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

where

Selecione todos os objetos em uma matriz, onde um determinado atributo tem um determinado valor.

Código

{% assign redmond = entityview.records | where: 'address1_city', 'Redmond' %}

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Saída

John Smith

Dave Thomas

Jake Johnson

Filtros de data

Os filtros de data podem ser usados para a data aritmética ou para converter valores DateTime em vários formatos.

data

Formata um valor DateTime usando uma cadeia de caracteres de formato .NET.

Cadeias de Caracteres de Formato de Data e Hora Padrão

Personalizar a Cadeia de Caracteres de Formato de Data e Hora

Código

{{ now | date: 'g' }}

{{ now | date: 'MMMM dd, yyyy' }}

Saída

5/7/2018 7:20 AM

May 07, 2018

date_add_days

Adiciona o número especificado de dias inteiros e fracionários para valor DateTime. O parâmetro pode ser positivo ou negativo.

Código

{{ now }}

{{ now | date_add_days: 1 }}

{{ now | date_add_days: -2.5 }}

Saída

5/7/2018 7:20:46 AM

5/8/2018 7:20:46 AM

5/4/2018 7:20:46 PM

date_add_hours

Adiciona o número especificado de horas inteiras e fracionárias ao valor DateTime. O parâmetro pode ser positivo ou negativo.

Código

{{ now }}

{{ now | date_add_hours: 1 }}

{{ now | date_add_hours: -2.5 }}

Saída

5/7/2018 7:20:46 AM

5/7/2018 8:20:46 AM

5/7/2018 4:50:46 AM

date_add_minutes

Adiciona o número especificado de minutos inteiros e fracionários ao valor DateTime. O parâmetro pode ser positivo ou negativo.

Código

{{ now }}

{{ now | date_add_minutes: 10 }}

{{ now | date_add_minutes: -2.5 }}

Saída

5/7/2018 7:20:46 AM

5/7/2018 7:30:46 AM

5/7/2018 7:18:16 AM

date_add_months

Adiciona o número especificado de meses inteiros e fracionários ao valor DateTime. O parâmetro pode ser positivo ou negativo.

Código

{{ now }}

{{ now | date_add_months: 1 }}

{{ now | date_add_months: -2 }}

Saída

5/7/2018 7:20:46 AM

6/7/2018 7:20:46 AM

3/7/2018 7:20:46 AM

date_add_seconds

Adiciona um número especificado de segundos inteiros e fracionários ao valor DateTime. O parâmetro pode ser positivo ou negativo.

Código

{{ now }}

{{ now | date_add_seconds: 10 }}

{{ now | date_add_seconds: -1.25 }}

Saída

5/7/2018 7:20:46 AM

5/7/2018 7:20:56 AM

5/7/2018 7:20:45 AM

date_add_years

Adiciona o número especificado de anos inteiros para o valor DateTime. O parâmetro pode ser positivo ou negativo.

Código

{{ now }}

{{ now | date_add_years: 1 }}

{{ now | date_add_years: -2 }}

Saída

5/7/2018 7:20:46 AM

5/7/2019 7:20:46 AM

5/7/2016 7:20:46 AM

date_to_iso8601

Formata um valor DateTime de acordo com o padrão ISO 8601. Útil ao criar feeds Atom, ou o elemento <time> HTML5.

Código

{{ now | date_to_iso8601 }}

Saída

2018-05-07T07:20:46Z

date_to_rfc822

Formata um valor DateTime de acordo com o padrão RFC 822. Útil ao criar os RSS feeds.

Código

{{ now | date_to_rfc822 }}

Saída

Mon, 07 May 2018 07:20:46 Z

Filtros de lista

Os filtros de lista são usados para funcionar com determinados valores de atributo entitylist e ajudar a criar visualizações de lista.

current_sort

Dada uma expressão de classificação, retorna a direção de classificação atual para um determinado atributo.

Código

{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}

Saída

DESC

metafiltros

Analisa um valor JSON de definição entitylist de filtro_nos objetos do grupo de opções de filtro.

Os metafiltros podem receber uma consulta de filtro de atributo atual e entitylist atual, permitindo que os objetos de filtro retornados sejam sinalizados como selecionados ou não selecionados.

Código

{% assign filters = entitylist | metafilters: params.mf, entityview %}
{% if filters.size > 0 %}
  <ul id=entitylist-filters>
    {% for filter in filters %}
      <li class=entitylist-filter-option-group>
        {% if filter.selection_mode == 'Single' %}
          {% assign type = 'radio' %}
        {% else %}
          {% assign type = 'checkbox' %}
        {% endif %}
        <h4 class=entitylist-filter-option-group-label
          data-filter-id={{ filter.id | h }}>
          {{ filter.label | h }}
        </h4>
        <ul>
          {% for option in filter.options %}
            <li class=entitylist-filter-option>
              {% if option.type == 'text' %}
                <div class=input-group entitylist-filter-option-text>
                  <span class=input-group-addon>
                    <span class=fa fa-filter aria-hidden=true></span>
                  </span>
                  <input class=form-control
                    type=text
                    name={{ filter.id | h }}
                    value={{ option.text | h }} />
                </div>
              {% else %}
                <div class={{ type | h }}>
                  <label>
                    <input
                      type={{ type | h }}
                      name={{ filter.id | h }}
                      value={{ option.id | h }}
                      {% if option.checked %}
                        checked=checked
                        data-checked=true{% endif %}
                      />
                    {{ option.label | h }}
                  </label>
                </div>
              {% endif %}
            </li>
          {% endfor %}
        </ul>
      </li>
    {% endfor %}
  </ul>
  <button class=btn btn-default data-serialized-query=mf data-target=#entitylist-filters>Apply Filters</button>
{% endif %}

reverse_sort

Dada uma direção de classificação, retorna a direção de classificação oposta.

Código

<!-- Sort direction is not case-sensitive -->

{{ 'ASC' | reverse_sort }}

{{ 'desc' | reverse_sort }}

Saída

DESC

ASC

Filtros de matemática

Os filtros de matemática permitem que você execute operações matemáticas em números.

Como com todos os filtros, os filtros podem ser posicionados, e são aplicados da esquerda para a direita.

Código

{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}

Saída

5

ceil

Arredondará um valor inteiro até o mais próximo.

Código

{{ 4.6 | ceil }}

{{ 4.3 | ceil }}

Saída

5

5

divided_by

Divide um número por outro número.

Código

{{ 10 | divided_by: 2 }}

{{ 10 | divided_by: 3 }}

{{ 10.0 | divided_by: 3 }}

Saída

5

3

3.333333

baixo

Arredondará um valor abaixo até o mais próximo.

Código

{{ 4.6 | floor }}

{{ 4.3 | floor }}

Saída

4

4

negativo

Subtrai um número de outro número.

Código

<!-- entityview.page = 11 -->

{{ entityview.page | minus: 1 }}

{{ 10 | minus: 1.1 }}

{{ 10.1 | minus: 1 }}

Saída

10

9

9.1

módulo

Divide um número por outro número e retornará o restante.

Código

{{ 12 | modulo: 5 }}

Saída

2

positivo

Adiciona um número a outro número.

Código

<!-- entityview.page = 11 -->

{{ entityview.page | plus: 1 }}

{{ 10 | plus: 1.1 }}

{{ 10.1 | plus: 1 }}

Saída

12

11

11.1

arredondar

Valor de arredondamento mais próximo ao inteiro ou o número de casas decimais especificado.

Código

{{ 4.6 | round }}

{{ 4.3 | round }}

{{ 4.5612 | round: 2 }}

Saída

5

4

4.56

vezes

Multiplica um número por outro número.

Código

{{ 10 | times: 2 }}

{{ 10 | times: 2.2 }}

{{ 10.1 | times: 2 }}

Saída

20

20

20.2

Filtros de cadeias de caracteres

Os filtros de cadeia de caracteres manipulam cadeias de caracteres.

append

Acrescenta uma cadeia de caracteres ao final de outra cadeia de caracteres.

Código

{{ 'filename' | append: '.js' }}

Saída

filename.js

colocar iniciais em maiúscula

coloca em maiúscula a inicial da primeira palavra em uma cadeia de caracteres.

Código

{{ 'capitalize me' | capitalize }}

Saída

Capitalize Me

colocar iniciais em minúscula

Converte uma cadeia de caracteres em minúsculas.

Código

{{ 'MIxed Case TExt' | downcase }}

Saída

mixed case text

escapar

Faz o escape de HTML de uma cadeia de caracteres.

Código

{{ '<p>test</p>' | escape }}

Saída

&lt;p&gt;test&lt;/p&gt;

newline_to_br

Insere uma marca HTML <br /> de quebra de linha em cada quebra de linha em uma cadeia de caracteres.

Código

{% capture text %}

A

B

C

{% endcapture %}

{{ text | newline_to_br }}

Saída

A<br />

B<br />

C<br />

acrescentar

Acrescenta uma cadeia de caracteres ao início de outra cadeia de caracteres.

Código

{{ 'Jane Johnson' | prepend: 'Dr. ' }}

Saída

Dr. Jane Johnson

remover

Remove todas as ocorrências de uma subcadeia de caracteres de uma cadeia de caracteres.

Código

{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}

Saída

Hello, . How are you, ?

remover_primeiras

Remove todas as primeiras ocorrências de uma subcadeia de caracteres de uma cadeia de caracteres.

Código

{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}

Saída

Hello, . How are you, Dave?

substituir

Substitui todas as ocorrências de uma cadeia de caracteres por uma subcadeia de caracteres.

Código

{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}

Saída

Hello, John. How are you, John?

substituir_primeira

Substitui a primeira ocorrência de uma cadeia de caracteres por uma subcadeia de caracteres.

Código

{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}

Saída

Hello, John. How are you, Dave?

dividir

O filtro dividir toma uma subcadeia de caracteres como parâmetro. A subcadeia de caracteres é usada como delimitador para dividir uma cadeia de caracteres em uma matriz.

Código

{% assign words = This is a demo of the split filter | split: ' ' %}

First word: {{ words.first }}

First word: {{ words[0] }}

Second word: {{ words[1] }}

Last word: {{ words.last }}

All words: {{ words | join: ', ' }}

Saída

First word: This

First word: This

Second word: is

Last word: filter

All words: This, is, a, demo, of, the, split, filter

remover_html

Remove todas as marcas HTML de uma cadeia de caracteres.

Código

<p>Hello</p>

Saída

Hello

eliminar_newlines

Elimina qualquer quebra de linha de uma cadeia de caracteres.

Código

{% capture text %}

A

B

C

{% endcapture %}

{{ text | strip_newlines }}

Saída

ABC

texto_para_html

Formata uma cadeia de caracteres de texto sem formatação como HTML simples. Todo o texto será codificado em HTML; os blocos de texto separados por uma linha em branco serão colocados entre marcas <p> de parágrafo; as quebras de linha simples serão substituídas por <br>, e as URLs serão convertidas em hyperlinks.

Código

{{ note.notetext | text_to_html }}

Saída

<p>This is the first paragraph of notetext. It contains a URL: <a href="https://example.com/" rel="nofollow">https://example.com</a></p>

<p>This is a second paragraph.</p>

truncar

Trunca uma cadeia de caracteres abaixo de um determinado número de caracteres. São acrescentadas reticências (...) à cadeia de caracteres, que são incluídas na contagem de caracteres.

Código

{{ 'This is a long run of text.' | truncate: 10 }}

Saída

This is...

truncar_palavras

Trunca uma cadeia de caracteres abaixo de um determinado número de palavras. São acrescentadas reticências (...) à cadeia de caracteres truncada.

Código

{{ 'This is a long run of text.' | truncate_words: 3 }}

Saída

This is a...

maiúsculas

Converte uma cadeia de caracteres em maiúsculas.

Código

{{ 'MIxed Case TExt' | upcase }}

Saída

MIXED CASE TEXT

url_escape

Escape de URI de uma cadeia de caracteres para inclusão em uma URL.

Código

{{ 'This & that//' | url_escape }}

Saída

This+%26+that%2F%2F

xml_escape

Escape de XML de uma cadeia de caracteres para inclusão em saída XML.

Código

{{ '<p>test</p>' | xml_escape }}

Saída

&lt;p&gt;test&lt;/p&gt;

Filtros de tipo

Os filtros de tipo permitem a você converter valores de um tipo em outros tipos.

booliano

Tentativas de converter um valor da cadeia de caracteres em um Booliano. Se o valor já for um valor Booliano, ele será retornado inalterado. Se o valor não puder ser convertido em um Booliano, será retornado null.

Esse filtro também aceitará ativado, habilitado ou sim como verdadeiro, e desativado, desabilitado e não como falso.

Código

{{ true | boolean }}

{{ 'false' | boolean }}

{{ 'enabled' | boolean }}

{{ settings['something/enabled'] | boolean | default: false }}

Saída

true

false

true

false

decimal

Tentativas de converter um valor da cadeia de caracteres em número decimal. Se o valor já for um número decimal, ele será retornado inalterado. Se o valor não puder ser convertido em um número decimal, será retornado null.

Código

{{ 10.1 | decimal }}

{{ '3.14' | decimal }}

{{ 'text' | decimal | default: 3.14 }}

Saída

10.1

3.14

3.14

inteiro

Tentativas de converter um valor da cadeia de caracteres em um inteiro. Se o valor já for um valor inteiro, ele será retornado sem alteração. Se o valor não puder ser convertido em um inteiro, será retornado null.

Código

{{ 10 | integer }}

{{ '10' | integer }}

{{ '10.1' | integer }}

{{ 'text' | integer | default: 2 }}

Saída

10

10


2

cadeia de caracteres

Tentativas de converter um valor para sua representação de cadeia de caracteres. Se o valor já for um uma cadeia de caracteres, ele será retornado inalterado. Se o valor for null, será retornado null.

Filtros da URL

Os filtros da URL permitem compilar ou extrair partes de URLs.

adicionar_consulta

Acrescentar um parâmetro da cadeia de caracteres da consulta à URL. Se o parâmetro já existe na URL de parâmetro, o valor será atualizado.

Se o filtro aplicado a uma URL absoluta completa, uma URL absoluta será resultado o atualizado. Se ele estiver aplicado ao caminho, um caminho atualizado será o resultado.

Código

{{ 'https://example.com/path?page=1' | add_query: 'foo', 'bar' }}

{{ '/path?page=1' | add_query: 'page', 2 }}

Saída

https://example.com/path?page=1&foo=bar

/path?page=2

base

Obter a URL base de uma determinada URL.

Código

{{ 'https://example.com/path?foo=bar&page=2' | base }}

Saída

https://example.com

host

É a parte de host da URL.

Código

{{ 'https://example.com/path?foo=bar&page=2' | host }}

Saída

example.com

caminho

É a parte de caminho da URL.

Código

{{ 'https://example.com/path?foo=bar&page=2' | path }}

{{ '/path?foo=bar&page=2' | path }}

Saída

/path

/path

caminho_e_consulta

É a parte de caminho e consulta da URL.

Código

{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}

{{ '/path?foo=bar&page=2' | path_and_query }}

Saída

/path?foo=bar&page=2

/path?foo=bar&page=2

porta

Recebe o número da porta da URL.

Código

{{ 'https://example.com/path?foo=bar&page=2' | port }}

{{ 'https://example.com/path?foo=bar&page=2' | port }}

{{ 'https://example.com:9000/path?foo=bar&page=2' | port }}

Saída

80

443

9000

remover_consulta

Remove um parâmetro da cadeia de caracteres de uma URL. Se o parâmetro não existir na URL, a URL será retornada inalterada.

Se o filtro aplicado a uma URL absoluta completa, uma URL absoluta será resultado o atualizado. Se ele estiver aplicado ao caminho, um caminho atualizado será o resultado.

Código

{{ 'https://example.com/path?page=1' | remove_query: 'page' }}

{{ '/path?page=1' | remove_query: 'page' }}

Saída

https://example.com/path

/path

esquema

É a parte de esquema da URL.

Código

{{ 'https://example.com/path?foo=bar&page=2' | scheme }}

{{ 'https://example.com/path?foo=bar&page=2' | scheme }}

Saída

http

https

Filtros adicionais

Esses filtros fornecem funcionalidade geral útil.

padrão

Retorna um valor padrão para qualquer variável sem o valor atribuído (isto é null).

Código

{{ snippets[Header] | default: 'My Website' }}

Saída

<!-- If a snippet with the name Header returns null -->

My Website

tamanho de_arquivo

Aplicado a um valor numérico representando um número de bytes, devolve um tamanho de arquivo formatado com uma unidade de escala apropriada.

Opcionalmente, um parâmetro de precisão pode ser passado, para acompanhar o número de casas decimais no resultado. A precisão padrão é 1.

Código

{{ 10000000 | file_size }}

{{ 2050 | file_size: 0 }}

{{ entity.notes.first.filesize | file_size: 2 }}

Saída

9.5 MB

2 KB

207.14 KB

possui_função

Aplicado a um usuário, retorna true se o usuário pertence a essa determinada função. Retorna falso se ele não pertence.

Código

{% assign is_admin = user | has_role: 'Administrators' %}

{% if is_admin %}

User is an administrator.

{% endif %}

líquido

Renderiza uma cadeia de caracteres como o código Líquido. Este código terá acesso ao contexto Líquido atual de execução (variáveis, etc.).

Observação

Esse filtro deve ser usado com cuidado e geralmente só deve ser aplicado aos valores que estão no controle de autores exclusivo do conteúdo do portal ou outros usuários que podem ser confiados para escrever código Líquido.

Código

{{ page.adx_copy | liquid }}

Consulte também

Armazenar conteúdo de origem usando os modelos da Web
Compreenda os operadores líquidos Tipos líquidos
Objetos Líquidos
Marcas de líquido
Filtros Líquidos

Observação

Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)

A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).