Filtros de Liquid disponibles

Nota

A partir del 12 de octubre de 2022, los portales de Power Apps son Power Pages. Más información: Microsoft Power Pages ya está disponible para el público en general (blog)
Pronto migraremos y fusionaremos la documentación de los portales de Power Apps con la documentación de Power Pages.

Los filtros de Liquid se usan para modificar el resultado de cadenas, números, variables y objetos. Están separados del valor al que se aplican mediante una |.

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

Algunos filtros aceptan parámetros. Los filtros también se pueden combinar, y se aplican en orden de izquierda a derecha.

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

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

La sección a continuación describe los diferentes filtros.

Filtros de matriz

Los filtros de matriz se usan para trabajar con matrices.

batch

Divide una matriz en matrices múltiples de un 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 %}

Salida

<ul>

<li>John Smith</li>

<li>Dave Thomas</li>

</ul>

<ul>

<li>Jake Johnson</li>

<li>Jack Robinson</li>

</ul>

concat

Concatena dos matrices en un matriz nueva y única.

Dado un solo elemento como parámetro, concat devuelve una nueva matriz que consiste en la matriz original, con el elemento dado como último elemento.

Código

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

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

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

Salida

Group #1: John, Pete, Hannah

Group #2: Joan, Bill

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

except

Seleccione todos los objetos de una matriz en la que un atributo determinado no tiene un valor determinado. (Es lo contrario dewhere).

Código

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

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Salida

Jack Robinson

primero

Devuelve el primer elemento de una matriz.

first también se puede usar con la notación de punto especial, en casos en los que sea necesario usarla dentro de una etiqueta.

Código

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

{{ words | first }}

{% if words.first == This %}

The first word is This.

{% endif %}

Salida

This

The first word is This.

group_by

Agrupa los elementos en una matriz por un atributo determinado.

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 %}

Salida

Redmond:

John Smith

Dave Thomas

Jake Johnson

New York:

Jack Robinson

join

Combina los elementos de una matriz con el carácter pasado como parámetro. El resultado es una sola cadena.

Código

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

{{ words | join: ,  }}

Salida

This, is, a, run, of, text

Último

Devuelve el último elemento de una matriz.

last también se puede usar con la notación de punto especial, en casos en los que sea necesario usarla dentro de una etiqueta.

Código

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

{{ words | last }}

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

The last word is text.

{% endif -%}

Salida

text

The last word is text.

order_by

Devuelve los elementos de una matriz ordenada por atributo dado de los elementos de la matriz.

De manera opcional, puede proporcionar desc como segundo parámetro para ordenar los elementos en orden descendente, en lugar de ascendente.

Código

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

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

Salida

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

random

Devuelve un solo elemento seleccionado aleatoriamente de la matriz.

Código

{{ group1 | join: ', ' }}

{{ group1 | random }}

Salida

John, Pete, Hannah

Pete

select

Selecciona el valor de un atributo determinado para cada elemento de una matriz, y devuelve estos valores como matriz.

Código

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

Salida

Redmond, New York

shuffle

Aplicado a una matriz, devuelve una nueva matriz con los mismos elementos, en orden aleatorizado.

Código

{{ group1 | join: ', ' }}

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

Output

John, Pete, Hannah

Hannah, John, Pete

size

Devuelve el número de elementos de una matriz.

size también se puede usar con la notación de punto especial, en casos en los que sea necesario usarla dentro de una etiqueta.

Código

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

{{ words | size }}

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

The text contains 6 words.

{% endif -%}

Salida

6

The text contains 6 words.

skip

Omite un número determinado de elementos de una matriz, y devuelve el resto.

Código

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

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

Salida

run, of, text

take

Toma un número determinado de elementos de la matriz, devolviendo los elementos tomados.

Código

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

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

Salida


This, is, a

then_by

Agrega orden posterior adicional a una matriz ya ordenada medianteorder_by.

De manera opcional, puede proporcionar desc como segundo parámetro para ordenar los elementos en orden descendente, en lugar de ascendente.

Código

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

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

Salida

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

donde

Seleccione todos los objetos de una matriz en la que un atributo determinado tiene un valor determinado.

Código

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

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Salida

John Smith

Dave Thomas

Jake Johnson

Filtros por fecha

Los filtros por fecha se pueden usar para la aritmética de fecha o para convertir valores de fecha y hora en distintos formatos.

fecha

Aplica formato a un valor de fecha y hora con una cadena de formato .NET.

Cadenas de formato estándar de fecha y hora

Cadenas de formato personalizado de fecha y hora

Código

{{ now | date: 'g' }}

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

Salida

5/7/2018 7:20 AM

May 07, 2018

date_add_days

Agrega un número especificado de días enteros y fraccionarios al valor de fecha y hora. El parámetro pueden ser positivo o negativo.

Código

{{ now }}

{{ now | date_add_days: 1 }}

{{ now | date_add_days: -2.5 }}

Salida

5/7/2018 7:20:46 AM

5/8/2018 7:20:46 AM

5/4/2018 7:20:46 PM

date_add_hours

Agrega un número especificado de horas enteras y fraccionarias al valor de fecha y hora. El parámetro pueden ser positivo o negativo.

Código

{{ now }}

{{ now | date_add_hours: 1 }}

{{ now | date_add_hours: -2.5 }}

Salida

5/7/2018 7:20:46 AM

5/7/2018 8:20:46 AM

5/7/2018 4:50:46 AM

date_add_minutes

Agrega un número especificado de minutos enteros y fraccionarios al valor de fecha y hora. El parámetro pueden ser positivo o negativo.

Código

{{ now }}

{{ now | date_add_minutes: 10 }}

{{ now | date_add_minutes: -2.5 }}

Salida

5/7/2018 7:20:46 AM

5/7/2018 7:30:46 AM

5/7/2018 7:18:16 AM

date_add_months

Agrega un número especificado de meses enteros al valor de fecha y hora. El parámetro pueden ser positivo o negativo.

Código

{{ now }}

{{ now | date_add_months: 1 }}

{{ now | date_add_months: -2 }}

Salida

5/7/2018 7:20:46 AM

6/7/2018 7:20:46 AM

3/7/2018 7:20:46 AM

date_add_seconds

Agrega un número especificado de segundos enteros y fraccionarios al valor de fecha y hora. El parámetro pueden ser positivo o negativo.

Código

{{ now }}

{{ now | date_add_seconds: 10 }}

{{ now | date_add_seconds: -1.25 }}

Salida

5/7/2018 7:20:46 AM

5/7/2018 7:20:56 AM

5/7/2018 7:20:45 AM

date_add_years

Agrega un número especificado de años enteros al valor de fecha y hora. El parámetro pueden ser positivo o negativo.

Código

{{ now }}

{{ now | date_add_years: 1 }}

{{ now | date_add_years: -2 }}

Salida

5/7/2018 7:20:46 AM

5/7/2019 7:20:46 AM

5/7/2016 7:20:46 AM

date_to_iso8601

Aplica formato a un valor de fecha y hora de acuerdo con la norma ISO 8601. Útil para crear fuentes Atom o el elemento HTML5 <>.

Código

{{ now | date_to_iso8601 }}

Salida

2018-05-07T07:20:46Z

date_to_rfc822

Aplica formato a un valor de fecha y hora de acuerdo con la norma RFC 822. Útil para crear fuentes RSS.

Code

{{ now | date_to_rfc822 }}

Salida

Mon, 07 May 2018 07:20:46 Z

Filtros de lista

Los filtros de lista se usan para trabajar con determinados valores de atributo entitylist y para ayudar a crear vistas de lista.

current_sort

Dada una expresión de ordenación, devuelve la dirección de ordenación actual para un atributo determinado.

Código

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

Salida

DESC

metafilters

Analiza un valor JSON de entitylist filtro_definición en objetos de grupo de opciones de filtro.

metafilters se puede ofrecer opcionalmente con una consulta de filtro de atributos actual y una entitylist actual, lo que permite que los objetos de filtro devueltos se marquen como seleccionados o no 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 %}

reverse_sort

Dada una dirección de ordenación, devuelve la dirección de ordenación opuesta.

Código

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

{{ 'ASC' | reverse_sort }}

{{ 'desc' | reverse_sort }}

Salida

DESC

ASC

Filtros de matemáticas

Los filtros de matemáticas permiten realizar operaciones matemáticas en números.

Como con todos los filtros, los filtros de matemáticas también se pueden encadenar y se aplican en orden de izquierda a derecha.

Código

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

Salida

5

ceil

Redondea al alza un valor hasta el entero más cercano.

Código

{{ 4.6 | ceil }}

{{ 4.3 | ceil }}

Salida

5

5

divided_by

Divide un número por otro número.

Código

{{ 10 | divided_by: 2 }}

{{ 10 | divided_by: 3 }}

{{ 10.0 | divided_by: 3 }}

Salida

5

3

3.333333

floor

Redondea a la baja un valor hasta el entero más cercano.

Código

{{ 4.6 | floor }}

{{ 4.3 | floor }}

Salida

4

4

minus

Resta un número de otro número.

Código

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

{{ entityview.page | minus: 1 }}

{{ 10 | minus: 1.1 }}

{{ 10.1 | minus: 1 }}

Salida

10

9

9.1

modulo

Divide un número por otro número y devuelve el resto.

Código

{{ 12 | modulo: 5 }}

Salida

2

plus

Suma un número a otro número.

Código

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

{{ entityview.page | plus: 1 }}

{{ 10 | plus: 1.1 }}

{{ 10.1 | plus: 1 }}

Salida

12

11

11.1

round

Redondea un valor al entero más próximo o el número especificado de decimales.

Código

{{ 4.6 | round }}

{{ 4.3 | round }}

{{ 4.5612 | round: 2 }}

Salida

5

4

4.56

times

Multiplica un número por otro número.

Código

{{ 10 | times: 2 }}

{{ 10 | times: 2.2 }}

{{ 10.1 | times: 2 }}

Salida

20

20

20.2

Filtros de cadena

Los filtros de cadena manipulan cadenas.

append

Anexa una cadena al final de otra cadena.

Código

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

Salida

filename.js

capitalize

pone en mayúscula la primera palabra en una cadena.

Código

{{ 'capitalize me' | capitalize }}

Salida

Capitalize Me

downcase

Convierte una cadena en minúscula.

Código

{{ 'MIxed Case TExt' | downcase }}

Salida

mixed case text

escape

Inserta caracteres de escape HTML en una cadena.

Código

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

Salida

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

newline_to_br

Inserta una etiqueta HTML de salto de línea <br /> en cada salto de línea de una cadena.

Código

{% capture text %}

A

B

C

{% endcapture %}

{{ text | newline_to_br }}

Salida

A<br />

B<br />

C<br />

prepend

Antepone una cadena al principio de otra cadena.

Código

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

Salida

Dr. Jane Johnson

remove

Elimina todas las instancias de una subcadena de una cadena.

Código

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

Salida

Hello, . How are you, ?

remove_first

Elimina la primera instancia de una subcadena de una cadena.

Código

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

Salida

Hello, . How are you, Dave?

replace

Reemplaza todas las instancias de una cadena con una subcadena.

Código

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

Salida

Hello, John. How are you, John?

replace_first

Reemplaza la primera instancia de una cadena con una subcadena.

Código

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

Salida

Hello, John. How are you, Dave?

split

El filtro split adopta una subcadena como parámetro. La subcadena se usa como delimitador para dividir una cadena en una 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: ', ' }}

Salida

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 las etiquetas HTML de una cadena.

Código

<p>Hello</p>

Salida

Hello

strip_newlines

Quita las saltos de línea de una cadena.

Código

{% capture text %}

A

B

C

{% endcapture %}

{{ text | strip_newlines }}

Salida

ABC

text_to_html

Da formato a una cadena de texto sin formato como HTML simple. Todo el texto se codificará como HTML, bloques de texto separados por una línea en blanco se incluirán entre etiquetas de párrafo <p>, los saltos de línea individuales se sustituirán con <br>, y las direcciones URL se convertirán en hipervínculos.

Código

{{ note.notetext | text_to_html }}

Salida

<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 una cadena hasta un número de caracteres determinado. Un punto suspensivo (...) se anexa a la cadena y se incluye en el número de caracteres.

Código

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

Salida

This is...

truncate_words

Trunca una cadena hasta un número de palabras determinado. Se anexan puntos suspensivos (...) a la cadena truncada.

Código

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

Salida

This is a...

upcase

Convierte una cadena en mayúscula.

Código

{{ 'MIxed Case TExt' | upcase }}

Salida

MIXED CASE TEXT

url_escape

Se insertan caracteres de escape URI en una cadena para su inclusión en una dirección URL.

Código

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

Salida

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

xml_escape

Se insertan caracteres de escape XML en una cadena para su inclusión en salida XML.

Código

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

Salida

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

Filtros de tipo

Los filtros de tipo permiten la conversión de valores de un tipo a otro.

boolean

Intenta convertir un valor de cadena en booleano. Si el valor ya es booleano, se devolverá sin cambios. Si el valor no se puede convertir en booleano, se devolverá null.

Este filtro también acepta on, habilitado, o sí como true, y off, deshabilitado y no como false.

Código

{{ true | boolean }}

{{ 'false' | boolean }}

{{ 'enabled' | boolean }}

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

Salida

true

false

true

false

decimal

Intenta convertir un valor de cadena en número decimal. Si el valor ya es un número decimal, se devolverá sin cambios. Si el valor no se puede convertir en un número decimal, se devolverá null.

Código

{{ 10.1 | decimal }}

{{ '3.14' | decimal }}

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

Salida

10.1

3.14

3.14

integer

Intenta convertir un valor de cadena en un entero. Si el valor ya es un entero, se devolverá sin cambios. Si el valor no se puede convertir en un entero, se devolverá null.

Código

{{ 10 | integer }}

{{ '10' | integer }}

{{ '10.1' | integer }}

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

Salida

10

10


2

string

Intenta convertir un valor en su representación de cadena. Si el valor ya es una cadena, se devolverá sin cambios. Si el valor es null, se devolverá null.

Filtros de dirección URL

Los filtros de dirección URL permiten crear o extraer partes de direcciones URL.

add_query

Anexar un parámetro de cadena de consulta a una dirección URL. Si el parámetro ya existe en la dirección URL, el valor del parámetro se actualizará.

Si este filtro se aplica a una dirección URL absoluta completa, una dirección URL absoluta actualizada será el resultado. Si se aplica a una ruta, una ruta actualizada será el resultado.

Código

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

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

Salida

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

/path?page=2

base

Obtiene la dirección URL de una dirección URL determinada.

Código

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

Salida

https://example.com

host

Obtiene la parte de host de una dirección URL.

Código

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

Salida

example.com

path

Obtiene la parte de ruta de una dirección URL.

Código

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

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

Salida

/path

/path

path_and_query

Obtiene la parte de ruta y consulta de una dirección URL.

Código

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

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

Salida

/path?foo=bar&page=2

/path?foo=bar&page=2

port

Obtiene el número de puerto una dirección 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 }}

Salida

80

443

9000

remove_query

Quita un parámetro de cadena de consulta de una dirección URL. Si el parámetro no existe en la dirección URL, la dirección URL se devuelve sin cambios.

Si este filtro se aplica a una dirección URL absoluta completa, una dirección URL absoluta actualizada será el resultado. Si se aplica a una ruta, una ruta actualizada será el resultado.

Código

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

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

Salida

https://example.com/path

/path

scheme

Obtiene la parte de esquema de una dirección URL.

Código

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

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

Salida

http

https

Filtros adicionales

Estos filtros proporcionan funcionalidad general útil.

default

Devuelve un valor predeterminado para cualquier variable sin valor asignado (es decir, null).

Código

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

Salida

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

My Website

file_size

Aplicado un valor de número que representa varios bytes, devuelve un tamaño de archivo con formato con una unidad de escala adecuada.

Opcionalmente, puede pasarse un parámetro de precisión para controlar el número de decimales en el resultado. La precisión predeterminada es 1.

Código

{{ 10000000 | file_size }}

{{ 2050 | file_size: 0 }}

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

Salida

9.5 MB

2 KB

207.14 KB

has_role

Si se aplica a un usuario, devuelve true si el usuario pertenece al rol determinado. Devuelve false si no.

Código

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

{% if is_admin %}

User is an administrator.

{% endif %}

liquid

Representa una cadena como código de Liquid. Este código tendrá acceso al contexto de ejecución de Liquid actual (variables, etc.).

Nota

Este filtro se debe usar con precaución y debe aplicarse normalmente sólo a los valores que están bajo el control exclusivo de los autores del contenido del portal, u otros usuarios en los que se puede confiar para escribir código de Liquid.

Código

{{ page.adx_copy | liquid }}

Vea también

Almacenar contenido de origen con plantillas web
Comprender operadores de Liquid Tipos de Liquid
Objetos de Liquid
Etiquetas de Liquid
Filtros de Liquid

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).