Filtros Liquid dispoñibles
Nota
A partir do 12 de outubro de 2022, Portais de Power Apps é Power Pages. Máis información: Microsoft Power Pages xa está dispoñible de forma xeral (blog)
Proximamente migraremos e uniremos a documentación de Portais de Power Apps coa documentación de Power Pages.
Os filtros liquid utilízanse para modificar a saída de cadeas, números, variables e obxectos. Están separados do valor ao que se aplican por unha |.
{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->
Algúns filtros aceptan parámetros. Os filtros tamén se poden combinar, e aplícanse en orde de esquerda a dereita.
{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->
{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->
Esta sección describe varios filtros.
Filtros de matriz
Os filtros de matriz utilízanse para traballar con matrices.
lote
Divide unha matriz en varias matrices dun determinado tamaño.
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 dúas raíces nunha única matriz nova.
Cun único elemento individual como parámetro, concat devolve unha nova matriz que consiste na matriz orixinal, co elemento dado 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
Seleccione todos os obxectos nunha matriz onde un atributo determinado non ten un valor determinado. (Trátase do reverso deonde.)
Código
{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
Saída
Jack Robinson
Primeiro
Devolve o primeiro elemento dunha matriz.
primeiro tamén se pode utilizar cunha notación de punto especial, nos casos en que se precisa usar dentro dunha etiqueta.
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
Agrupar os elementos nunha matriz segundo un 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
Une os elementos dunha matriz co carácter que se pasou como o parámetro. O resultado é unha cadea única.
Código
{% assign words = This is a run of text | split: %}
{{ words | join: , }}
Saída
This, is, a, run, of, text
Último
Devolve o último elemento dunha matriz.
último tamén se pode utilizar cunha notación de punto especial, nos casos en que se precisa usar dentro dunha etiqueta.
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.
pedido_por
Devolve os elementos dunha matriz ordenados segundo un atributo determinado dos elementos da matriz.
Opcionalmente, pode fornecer desc como segundo parámetro para ordenar os elementos en orde descendente, e non ascendente.
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
Devolve un único elemento seleccionado aleatoriamente da matriz.
Código
{{ group1 | join: ', ' }}
{{ group1 | random }}
Saída
John, Pete, Hannah
Pete
select
Selecciona o valor dun determinado atributo para cada elemento nunha matriz e devolve estes valores como unha matriz.
Código
{{ entityview.records | select: 'address1_city' | join: ', ' }}
Saída
Redmond, New York
shuffle
Aplicado a unha matriz, devolve unha nova matriz cos mesmos elementos, en orde aleatoria.
Código
{{ group1 | join: ', ' }}
{{ group1 | shuffle | join: ', ' }}
Saída
John, Pete, Hannah
Hannah, John, Pete
size
Devolve o número de elementos nunha matriz.
tamaño tamén se pode utilizar cunha notación de punto especial, nos casos en que se precisa usar dentro dunha etiqueta.
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
Omite un número determinado de elementos nunha matriz e devolve o resto.
Código
{% assign words = This is a run of text | split: %}
{{ words | skip: 3 | join: ', ' }}
Saída
run, of, text
take
Colle un número determinado de elementos da matriz, devolvendo os elementos collidos.
Código
{% assign words = This is a run of text | split: %}
{{ words | take: 3 | join: ', ' }}
Saída
This, is, a
despois_por
Engade una ordenación subxacente adicional a unha matriz xa ordenada porordenar_por.
Opcionalmente, pode fornecer desc como segundo parámetro para ordenar os elementos en orde descendente, e non ascendente.
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
onde
Seleccione todos os obxectos nunha matriz onde un atributo determinado ten un valor determinado.
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 datas pódense utilizar para a aritmética de datos ou para converter os valores de data e hora en varios formatos.
data
Formata un valor de data e hora utilizando unha cadea de formato .NET.
Cadeas de formato estándar de Data e Hora
Cadeas de formato personalizadas 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
data_engadir_días
Engade o número especificado de días completos e fraccionados ao valor de data e Hora. 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
data_engadir_horas
Engade o número especificado de horas completas e fraccionadas ao valor de data e Hora. 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
data_engadir_minutos
Engade o número especificado de minutos completos e fraccionados ao valor de data e Hora. 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
data_engadir_meses
Engade o número especificado de meses completos ao valor de data e Hora. 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
data_engadir_segundos
Engade o número especificado de segundos completos e fraccionados ao valor de data e Hora. 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
data_engadir_anos
Engade o número especificado de anos completos ao valor de data e Hora. 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
data_para_iso8601
Aplica formato a un valor de data e hora segundo a norma ISO 8601. É util cando se crean fontes Atom ou o elemento HTML5 <hora>.
Código
{{ now | date_to_iso8601 }}
Saída
2018-05-07T07:20:46Z
data_para_rfc822
Aplica formato a un valor de data y hora segundo a norma RFC 822. É util cando se crean fontes RSS.
Código
{{ now | date_to_rfc822 }}
Saída
Mon, 07 May 2018 07:20:46 Z
Filtros de lista
Os filtros de lista utilízanse para traballar con determinados valores do atributo entitylist e para axudar a crear visualizacións de lista.
clasificación_actual
Unha expresión de clasificación devolve a actual dirección de clasificación para un atributo determinado.
Código
{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}
Saída
DESC
metafiltros
Analiza un valor JSON de definición de filtro entitylist_ en obxectos de grupo de opcións de filtro.
Os metafiltros poden vir cunha consulta de filtro do atributo e entitylist actuais, permitindo que os obxectos de filtro devoltos se marquen como seleccionados ou non seleccionados.
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 %}
clasificación_inversa
Unha dirección de clasificación devolve a dirección de clasificación oposta.
Código
<!-- Sort direction is not case-sensitive -->
{{ 'ASC' | reverse_sort }}
{{ 'desc' | reverse_sort }}
Saída
DESC
ASC
Filtros matemáticos
Los filtros matemáticos permiten realizar operacións matemáticas en números.
Como con todos os filtros, os filtros matemáticos poden estar en cadea, e aplícanse en orde da esquerda á dereita.
Código
{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}
Saída
5
ceil
Redondea un valor até ao máis próximo número enteiro hacia arriba.
Código
{{ 4.6 | ceil }}
{{ 4.3 | ceil }}
Saída
5
5
dividido_por
Divide un número entre outro número.
Código
{{ 10 | divided_by: 2 }}
{{ 10 | divided_by: 3 }}
{{ 10.0 | divided_by: 3 }}
Saída
5
3
3.333333
floor
Redondea un valor até ao máis próximo número enteiro hacia abaixo.
Código
{{ 4.6 | floor }}
{{ 4.3 | floor }}
Saída
4
4
minus
Resta un número a 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
modulo
Divide un número entre outro número e devolve o resto.
Código
{{ 12 | modulo: 5 }}
Saída
2
plus
Suma un 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
round
Redondea un valor ao máis próximo número enteiro ou número decimal especificado.
Código
{{ 4.6 | round }}
{{ 4.3 | round }}
{{ 4.5612 | round: 2 }}
Saída
5
4
4.56
times
Multiplica un 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 cadea
Los filtros de cadea manipulan cadeas.
append
Anexa unha cadea ao final doutra cadea.
Código
{{ 'filename' | append: '.js' }}
Saída
filename.js
capitalize
Pon en maiúsculas a primeira palabra nunha cadea.
Código
{{ 'capitalize me' | capitalize }}
Saída
Capitalize Me
downcase
Pon unha cadea en minúsculas.
Código
{{ 'MIxed Case TExt' | downcase }}
Saída
mixed case text
escape
HTML escapa unha cadea.
Código
{{ '<p>test</p>' | escape }}
Saída
<p>test</p>
newline_to_br
Insire unha etiqueta de quebra de liña <br /> HTML en cada quebra de liña nunha cadea.
Código
{% capture text %}
A
B
C
{% endcapture %}
{{ text | newline_to_br }}
Saída
A<br />
B<br />
C<br />
prepend
Anexa unha cadea ao principio doutra cadea.
Código
{{ 'Jane Johnson' | prepend: 'Dr. ' }}
Saída
Dr. Jane Johnson
eliminar
Eliminar todas as repeticións dunha subcadea nunha cadea.
Código
{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}
Saída
Hello, . How are you, ?
remove_first
Elimina as primeiras repeticións dunha subcadea nunha cadea.
Código
{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}
Saída
Hello, . How are you, Dave?
replace
Substitúe todas as repeticións dunha cadea cunha subcadea.
Código
{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}
Saída
Hello, John. How are you, John?
replace_first
Substitúe a primeira repeticiós dunha cadea cunha subcadea.
Código
{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}
Saída
Hello, John. How are you, Dave?
split
O filtro split colle unha subcadea como parámetro. A subcadea úsase como un delimitador para divide unha cadea nunha 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
strip_html
Quita todas as etiquetas HTML dunha cadea.
Código
<p>Hello</p>
Saída
Hello
strip_newlines
Quita as quebras de liña dunha cadea.
Código
{% capture text %}
A
B
C
{% endcapture %}
{{ text | strip_newlines }}
Saída
ABC
text_to_html
Formata unha cadea de texto sen formato como HTML simple. Todo o texto estará codificado con HTML, os bloques de texto separados por unha liña en branco estarán en etiquetas de parágrafos <p>, as quebras de liña substituiranse por <br> e os URL converteranse en hiperligazóns.
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>
truncate
Trunca unha cadea a un número concreto de caracteres. Engádense puntos suspensivos (...) á cadea e inclúese no número de caracteres.
Código
{{ 'This is a long run of text.' | truncate: 10 }}
Saída
This is...
truncate_words
Trunca unha cadea a un número concreto de palabras. Engádense puntos supensivos (...) á cadea truncada.
Código
{{ 'This is a long run of text.' | truncate_words: 3 }}
Saída
This is a...
upcase
Pon unha cadea en maiúsculas.
Código
{{ 'MIxed Case TExt' | upcase }}
Saída
MIXED CASE TEXT
url_escape
URI: escapar unha cadea de inclusion nun URL.
Código
{{ 'This & that//' | url_escape }}
Saída
This+%26+that%2F%2F
xml_escape
XML: escapar unha cadea de inclusion en resultados XML.
Código
{{ '<p>test</p>' | xml_escape }}
Saída
<p>test</p>
Filtros de tipo
Os filtros de tipo permiten converter valores dun mesmo tipo noutros tipos.
booleano
Tenta converter un valor de cadea nun Booleano. Se o valor xa é un Booleano, devolverase sen modificacións. Se o valor non se pode converterse nun Booleano, devolverase null.
Este filtro tamén aceptará activado ou si como verdadeiro, e desactivado e non como falso.
Código
{{ true | boolean }}
{{ 'false' | boolean }}
{{ 'enabled' | boolean }}
{{ settings['something/enabled'] | boolean | default: false }}
Saída
true
false
true
false
decimal
Tenta converter un valor de cadea nun número decimal. Se o valor xa é un número decimal, devolverase sen modificacións. Se o valor non se pode converterse nun número decimal, devolverase null.
Código
{{ 10.1 | decimal }}
{{ '3.14' | decimal }}
{{ 'text' | decimal | default: 3.14 }}
Saída
10.1
3.14
3.14
número enteiro
Tenta converter un valor de cadea nun número enteiro. Se o valor xa é un número enteiro, devolverase sen modificacións. Se o valor non se pode converterse nun número enteiro, devolverase null.
Código
{{ 10 | integer }}
{{ '10' | integer }}
{{ '10.1' | integer }}
{{ 'text' | integer | default: 2 }}
Saída
10
10
2
cadea
Tenta converter un valor na súa representación de cadea. Se o valor xa é unha cadea, devolverase sen modificacións. Se o valor é null, devolverase null.
Filtros de URL
Os filtros de URL permiten a compilación ou extracción de partes de URL.
add_query
Anexa un parámetro de cadea de consulta para un URL. Se o parámetro xa existe no URL, o valor do parámetro actualizarase.
Se este filtro se aplica a un URL completo absoluto, un URL actualizado absoluto será o resultado. Se se aplica a un camiño, un camiño actualizado 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
Obtén a base do URL dun URL determinado.
Código
{{ 'https://example.com/path?foo=bar&page=2' | base }}
Saída
https://example.com
host
Obtén a parte aloxada do URL.
Código
{{ 'https://example.com/path?foo=bar&page=2' | host }}
Saída
example.com
camiño
Obtén a parte do camiño do URL.
Código
{{ 'https://example.com/path?foo=bar&page=2' | path }}
{{ '/path?foo=bar&page=2' | path }}
Saída
/path
/path
path_and_query
Obtén a parte do camiño e da consulta do 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
porto
Obtén o número de porto do 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
remove_query
Quita un parámetro de cadea de consulta dun URL. Se o parámetro non existe no URL, o URL devolverase sen modificar.
Se este filtro se aplica a un URL completo absoluto, un URL actualizado absoluto será o resultado. Se se aplica a un camiño, un camiño actualizado 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
scheme
Obtén a parte do esquema do 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
Estes filtros fornecen funcionalidade xeral útil.
predefinido
Devolve o valor predefinido para calquera variable con valor non atribuído, é dicir, null.
Código
{{ snippets[Header] | default: 'My Website' }}
Saída
<!-- If a snippet with the name Header returns null -->
My Website
file_size
Aplicado a un valor numérico que representa un número de bytes, devolve un tamaño de ficheiro formatado cunha unidade de escala apropiada.
Opcionalmente, un parámetro de precisión pódese pasar, para controlar o número de decimais no resultado. O valor predefinido de precisión é 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
has_role
Aplicado a un usuario, devolve verdadeiro se o usuario pertence a esa función. En caso contrario, devolve falso.
Código
{% assign is_admin = user | has_role: 'Administrators' %}
{% if is_admin %}
User is an administrator.
{% endif %}
liquid
Procesa unha cadea como código Liquid. Este código terá acceso ao actual contexto de execución de Liquid (variables, etc.).
Nota
Este filtro debe usarse con atención e, polo xeral, só se debería aplicar ao valores que estean baixo o control exclusivo dos autores de contido do portal ou outros usuarios en que se pode confiar para escribir código Liquid.
Código
{{ page.adx_copy | liquid }}
Consulte tamén
Almacenar contido de orixe utilizando modelos web
Comprender os operadores Liquid
tipos de Liquid
Obxectos Liquid
Etiquetas Liquid
Filtros Liquid
Nota
Pode indicarnos as súas preferencias para o idioma da documentación? Realice unha enquisa breve. (teña en conta que esa enquisa está en inglés)
Esta enquisa durará sete minutos aproximadamente. Non se recompilarán datos persoais (declaración de privacidade).
Comentarios
https://aka.ms/ContentUserFeedback.
Proximamente: Ao longo de 2024, retiraremos gradualmente GitHub Issues como mecanismo de comentarios sobre o contido e substituirémolo por un novo sistema de comentarios. Para obter máis información, consulte:Enviar e ver os comentarios