Tilgængelige Liquid-filtre

Bemærk

Fra 12. oktober 2022 bliver Power Apps-portaler til Power Pages. Flere oplysninger: Microsoft Power Pages er nu generelt tilgængelig (blog)
Vi overfører og fletter snart dokumentationen til Power Apps-portalerne med Power Pages-dokumentationen.

Liquid-filtre bruges til at ændre outputtet af strenge, tal, variabler og objekter. De er adskilt fra den værdi, som de anvendes på, af en |.

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

Nogle filtre accepterer parametre. Filtre kan også kombineres og anvendes i rækkefølge fra venstre mod højre.

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

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

I nedenstående sektion beskrives forskellige filtre.

Matrixfiltre

Matrixfiltre bruges til at arbejde med matricer.

batch

Opdeler en matrix i flere matricer af en given størrelse.

Kode

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

{% for batch in batches %}

<ul>

{% for item in batch %}

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

{% endfor %}

</ul>

{% endfor %}

Resultat

<ul>

<li>John Smith</li>

<li>Dave Thomas</li>

</ul>

<ul>

<li>Jake Johnson</li>

<li>Jack Robinson</li>

</ul>

concat

Sammenkæder to matricer i et enkelt nyt system.

Med et enkelt element som parameter returnerer concat en nyt matrix, der består af den oprindelige matrix med det angivne element som det sidste element.

Kode

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

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

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

Resultat

Group #1: John, Pete, Hannah

Group #2: Joan, Bill

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

except

Markerer alle objekter i en matrix, hvor en given attribut ikke har en angivet værdi. (Dette er det omvendte af where).

Kode

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

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Resultat

Jack Robinson

Første

Returnerer det første element i en matrix.

first kan også bruges sammen med en speciel punktnotation i tilfælde, hvor det skal bruges i et mærke.

Kode

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

{{ words | first }}

{% if words.first == This %}

The first word is This.

{% endif %}

Resultat

This

The first word is This.

group_by

Grupperer elementerne i en matrix efter en bestemt attribut.

Kode

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

{% for group in groups %}

{{ group.key }}:

{% for item in group.items %}

{{ item.fullname }}

{% endfor %}

{% endfor %}

Resultat

Redmond:

John Smith

Dave Thomas

Jake Johnson

New York:

Jack Robinson

join

Forbinder elementerne i en matrix med det tegn, der er overført som parameter. Resultatet er en enkelt streng.

Kode

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

{{ words | join: ,  }}

Resultat

This, is, a, run, of, text

Sidste

Returnerer det sidste element i en matrix.

last kan også bruges sammen med en speciel punktnotation i tilfælde, hvor det skal bruges i et mærke.

Kode

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

{{ words | last }}

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

The last word is text.

{% endif -%}

Resultat

text

The last word is text.

order_by

Returnerer elementerne i en matrix, der er arrangeret efter en given attribut for elementerne i matricen.

Du kan eventuelt angive desc som en anden parameter for at sortere elementerne i faldende rækkefølge i stedet for stigende.

Kode

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

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

Resultat

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

random

Returnerer en enkelt tilfældigt udvalgt element fra matricen.

Kode

{{ group1 | join: ', ' }}

{{ group1 | random }}

Resultat

John, Pete, Hannah

Pete

select

Vælger værdien af en bestemt attribut for hvert element i en matrix og returnerer værdierne som en matrix.

Kode

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

Resultat

Redmond, New York

shuffle

Anvendes på en matrix, returnerer en nyt matrix med de samme elementer i randomiseret rækkefølge.

Kode

{{ group1 | join: ', ' }}

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

Resultat

John, Pete, Hannah

Hannah, John, Pete

size

Returnerer antallet af elementer i en matrix.

size kan også bruges sammen med en speciel punktnotation i tilfælde, hvor det skal bruges i et mærke.

Kode

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

{{ words | size }}

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

The text contains 6 words.

{% endif -%}

Resultat

6

The text contains 6 words.

skip

Springer over et givet antal elementer i en matrix og returnerer resten.

Kode

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

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

Resultat

run, of, text

take

Tager et givet antal elementer i matricen og returnerer de elementer, der er tages.

Kode

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

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

Resultat


This, is, a

then_by

Tilføjer yderligere efterfølgende rangering i en matrix, der allerede er rangeret af order_by.

Du kan eventuelt angive desc som en anden parameter for at sortere elementerne i faldende rækkefølge i stedet for stigende.

Kode

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

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

Resultat

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

hvor

Markerer alle objekter i en matrix, hvor en given attribut har en angivet værdi.

Kode

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

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Resultat

John Smith

Dave Thomas

Jake Johnson

Datofiltre

Datofiltre kan bruges til datoaritmetik eller til at konvertere DateTime-værdier til forskellige formater.

dato

Formaterer en DateTime-værdi ved hjælp af en .NET-formatstreng.

Standarddato- og klokkeslætsformatstrenge

Brugerdefinerede dato- og klokkeslætsformatstrenge

Kode

{{ now | date: 'g' }}

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

Resultat

5/7/2018 7:20 AM

May 07, 2018

date_add_days

Føjer det angivne antal hele dage og dele af dage til DateTime-værdien. Parameteren kan være positiv eller negativ.

Kode

{{ now }}

{{ now | date_add_days: 1 }}

{{ now | date_add_days: -2.5 }}

Resultat

5/7/2018 7:20:46 AM

5/8/2018 7:20:46 AM

5/4/2018 7:20:46 PM

date_add_hours

Føjer det angivne antal af hele timer og dele af timer til DateTime-værdien. Parameteren kan være positiv eller negativ.

Kode

{{ now }}

{{ now | date_add_hours: 1 }}

{{ now | date_add_hours: -2.5 }}

Resultat

5/7/2018 7:20:46 AM

5/7/2018 8:20:46 AM

5/7/2018 4:50:46 AM

date_add_minutes

Føjer det angivne antal af hele minutter og dele af minutter til DateTime-værdien. Parameteren kan være positiv eller negativ.

Kode

{{ now }}

{{ now | date_add_minutes: 10 }}

{{ now | date_add_minutes: -2.5 }}

Resultat

5/7/2018 7:20:46 AM

5/7/2018 7:30:46 AM

5/7/2018 7:18:16 AM

date_add_months

Føjer det angivne antal af hele måneder og dele af måneder til DateTime-værdien. Parameteren kan være positiv eller negativ.

Kode

{{ now }}

{{ now | date_add_months: 1 }}

{{ now | date_add_months: -2 }}

Resultat

5/7/2018 7:20:46 AM

6/7/2018 7:20:46 AM

3/7/2018 7:20:46 AM

date_add_seconds

Føjer det angivne antal af hele sekunder og dele af sekunder til DateTime-værdien. Parameteren kan være positiv eller negativ.

Kode

{{ now }}

{{ now | date_add_seconds: 10 }}

{{ now | date_add_seconds: -1.25 }}

Resultat

5/7/2018 7:20:46 AM

5/7/2018 7:20:56 AM

5/7/2018 7:20:45 AM

date_add_years

Føjer det angivne antal af hele år og dele af år til DateTime-værdien. Parameteren kan være positiv eller negativ.

Kode

{{ now }}

{{ now | date_add_years: 1 }}

{{ now | date_add_years: -2 }}

Resultat

5/7/2018 7:20:46 AM

5/7/2019 7:20:46 AM

5/7/2016 7:20:46 AM

date_to_iso8601

Formaterer en DateTime-værdi i henhold til ISO 8601-standarden. Nyttig, når du opretter Atom-feeds eller HTML5 <time>-elementet.

Kode

{{ now | date_to_iso8601 }}

Resultat

2018-05-07T07:20:46Z

date_to_rfc822

Formaterer en DateTime-værdi i henhold til RFC 822-standarden. Nyttigt, når du opretter RSS-feeds.

Kode

{{ now | date_to_rfc822 }}

Output

Mon, 07 May 2018 07:20:46 Z

Listefiltre

Listefiltre bruges til at arbejde med visse entitylist-attributværdier og til at hjælpe med at oprette listevisninger.

current_sort

Givet et sorteringsudtryk returneres den aktuelle sorteringsrækkefølge for en bestemt attribut.

Kode

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

Resultat

DESC

metafilters

Parser en JSON-værdi af typen entitylist--filter_definition til gruppeobjekter for filterindstillinger.

metafiltre kan eventuelt forsynes med en forespørgsel på et aktuelt attributfilter og en aktuel entitylist, så de returnerede filterobjekter markeres som enten valgte eller fravalgte.

Kode

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

Givet en sorteringsretning returneres den modsatte sorteringsretning.

Kode

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

{{ 'ASC' | reverse_sort }}

{{ 'desc' | reverse_sort }}

Resultat

DESC

ASC

Matematiske filtre

Med matematiske filtre kan du udføre matematiske beregninger på tal.

Som med alle filtre kan matematikfiltre sammenkædes og anvendes i rækkefølge fra venstre mod højre.

Kode

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

Resultat

5

ceil

Runder en værdi op til det nærmeste heltal.

Kode

{{ 4.6 | ceil }}

{{ 4.3 | ceil }}

Resultat

5

5

divided_by

Dividerer et tal med et andet tal.

Kode

{{ 10 | divided_by: 2 }}

{{ 10 | divided_by: 3 }}

{{ 10.0 | divided_by: 3 }}

Resultat

5

3

3.333333

floor

Runder en værdi ned til det nærmeste heltal.

Kode

{{ 4.6 | floor }}

{{ 4.3 | floor }}

Resultat

4

4

minus

Trækker et tal fra et andet tal.

Kode

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

{{ entityview.page | minus: 1 }}

{{ 10 | minus: 1.1 }}

{{ 10.1 | minus: 1 }}

Resultat

10

9

9.1

modulo

Dividerer et tal med et andet tal og returnerer resten.

Kode

{{ 12 | modulo: 5 }}

Resultat

2

plus

Lægger et tal til et andet tal.

Kode

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

{{ entityview.page | plus: 1 }}

{{ 10 | plus: 1.1 }}

{{ 10.1 | plus: 1 }}

Resultat

12

11

11.1

round

Afrunder en værdi til det nærmeste heltal eller det angivne antal decimaler.

Kode

{{ 4.6 | round }}

{{ 4.3 | round }}

{{ 4.5612 | round: 2 }}

Resultat

5

4

4.56

times

Ganger et tal med et andet tal.

Kode

{{ 10 | times: 2 }}

{{ 10 | times: 2.2 }}

{{ 10.1 | times: 2 }}

Resultat

20

20

20.2

Strengfiltre

Strengfiltre manipulerer Strenge.

append

Tilføjer en streng i slutningen af en anden streng.

Kode

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

Resultat

filename.js

capitalize

Lader det første ord i en streng begynde med stort.

Kode

{{ 'capitalize me' | capitalize }}

Resultat

Capitalize Me

downcase

Konverterer en streng til små bogstaver.

Kode

{{ 'MIxed Case TExt' | downcase }}

Resultat

mixed case text

escape

HTML-escaper en streng.

Kode

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

Resultat

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

newline_to_br

Indsætter et <br /> HTML-mærke for lineskift på hvert linjeskift i en streng.

Kode

{% capture text %}

A

B

C

{% endcapture %}

{{ text | newline_to_br }}

Resultat

A<br />

B<br />

C<br />

prepend

Tilføjer en streng i begyndelsen af en anden streng.

Kode

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

Resultat

Dr. Jane Johnson

remove

Fjern alle forekomster af en understreng fra en streng.

Kode

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

Resultat

Hello, . How are you, ?

remove_first

Fjerner den første forekomst af en understreng fra en streng.

Kode

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

Resultat

Hello, . How are you, Dave?

replace

Erstatter alle forekomster af en streng med en understreng.

Kode

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

Resultat

Hello, John. How are you, John?

replace_first

Erstatter den første forekomst af en streng med en understreng.

Kode

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

Resultat

Hello, John. How are you, Dave?

split

Filteret split tager en understreng som parameter. Understrengen bruges som et afgrænsningstegn for at opdele en streng i en matrix.

Kode

{% 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: ', ' }}

Resultat

First word: This

First word: This

Second word: is

Last word: filter

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

strip_html

Fjerner alle HTML-mærker fra en streng.

Kode

<p>Hello</p>

Resultat

Hello

strip_newlines

Fjerner alle linjeskift fra en streng.

Kode

{% capture text %}

A

B

C

{% endcapture %}

{{ text | strip_newlines }}

Resultat

ABC

text_to_html

Formaterer en almindelig tekststreng som simpel HTML. Al tekst bliver HTML-kodet, tekstblokke, der er adskilt af en tom linje, ombrydes i <p>-afsnitsmærker, enkelt linjeskift bliver udskiftet med <br>, og URL-adresser bliver konverteret til links.

Kode

{{ note.notetext | text_to_html }}

Resultat

<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

Afkorter en streng til et bestemt antal tegn. En ellipse (...) føjes til strengen og indgår i antallet af tegn.

Kode

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

Resultat

This is...

truncate_words

Afkorter en streng til et bestemt antal ord. En ellipse (...) føjes til den forkortede streng.

Kode

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

Resultat

This is a...

upcase

Konverterer en streng til store bogstaver.

Kode

{{ 'MIxed Case TExt' | upcase }}

Resultat

MIXED CASE TEXT

url_escape

URI-escaper en streng, så den kan medtages i en URL-adresse.

Kode

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

Resultat

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

xml_escape

XML-escaper en streng, så den kan medtages i XML-output.

Kode

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

Resultat

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

Typefiltre

Med typefiltre kan du konvertere værdier af én type til andre typer.

boolean

Forsøger at konvertere en strengværdi til en boolesk værdi. Hvis værdien allerede er en boolesk værdi, returneres den uændret. Hvis værdien ikke kan konverteres til en boolesk værdi, returneres null.

Dette filter accepterer også til, aktiveret eller ja som true, og fra, deaktiveret og nej som false.

Kode

{{ true | boolean }}

{{ 'false' | boolean }}

{{ 'enabled' | boolean }}

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

Resultat

true

false

true

false

decimal

Forsøger at konvertere en strengværdi til et decimaltal. Hvis værdien allerede er et decimaltal, returneres den uændret. Hvis værdien ikke kan konverteres til et decimaltal, returneres null.

Kode

{{ 10.1 | decimal }}

{{ '3.14' | decimal }}

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

Resultat

10.1

3.14

3.14

integer

Forsøger at konvertere en strengværdi til et heltal. Hvis værdien allerede er et heltal, returneres den uændret. Hvis værdien ikke kan konverteres til et heltal, returneres null.

Kode

{{ 10 | integer }}

{{ '10' | integer }}

{{ '10.1' | integer }}

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

Resultat

10

10


2

string

Forsøger at konvertere en værdi til den tilsvarende strengrepræsentation. Hvis værdien allerede er en streng, returneres den uændret. Hvis værdien er null, returneres null.

URL-filtre

URL-filtre giver dig mulighed for at opbygge eller udtrækker dele af URL-adresser.

add_query

Føjer en forespørgselsstrengparameter til en URL-adresse. Hvis parameteren allerede findes i URL-adressen, opdateres værdien for parameteren.

Hvis dette filter anvendes på en fuldstændig, absolut URL-adresse, bliver resultatet med en opdateret absolut URL-adresse. Hvis det anvendes på en sti, bliver en opdateret sti resultatet.

Kode

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

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

Resultat

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

/path?page=2

base

Henter URL-rodadressen på en given URL-adresse.

Kode

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

Resultat

https://example.com

host

Henter værtsdelen af en URL-adresse.

Kode

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

Resultat

example.com

path

Henter stidelen af en URL-adresse.

Kode

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

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

Resultat

/path

/path

path_and_query

Henter sti- og forespørgselsdelen af en URL-adresse.

Kode

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

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

Resultat

/path?foo=bar&page=2

/path?foo=bar&page=2

port

Henter portnummeret af en URL-adresse.

Kode

{{ '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 }}

Resultat

80

443

9000

remove_query

Fjerner en forespørgselsstrengparameter fra en URL-adresse. Hvis parameteren ikke findes i URL-adressen, returneres URL-adressen uændret.

Hvis dette filter anvendes på en fuldstændig, absolut URL-adresse, bliver resultatet med en opdateret absolut URL-adresse. Hvis det anvendes på en sti, bliver en opdateret sti resultatet.

Kode

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

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

Resultat

https://example.com/path

/path

scheme

Henter skemadelen af en URL-adresse.

Kode

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

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

Resultat

http

https

Flere filtre

Disse filtre indeholder praktiske generelle funktioner.

default

Returnerer en standardværdi for alle variabler uden tildelte værdi (dvs. null).

Kode

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

Resultat

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

My Website

file_size

Ved anvendelse på en talværdi, der repræsenterer et antal byte, returneres en formateret filstørrelse med en enhed i passende målestok.

Eventuelt kan en præcisionsparameter overføres for at kontrollere antallet af decimalpladser i resultatet. Standardpræcisionen er 1.

Kode

{{ 10000000 | file_size }}

{{ 2050 | file_size: 0 }}

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

Resultat

9.5 MB

2 KB

207.14 KB

has_role

Ved anvendelse på en user returneres true, hvis brugeren tilhører den angivne rolle. Returnerer false, hvis ikke.

Kode

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

{% if is_admin %}

User is an administrator.

{% endif %}

liquid

Gengiver en streng som Liquid-kode. Denne kode har adgang til den aktuelle Liquid-kørselskontekst (variabler osv.).

Bemærk

Dette filter skal bruges med forsigtighed og bør normalt kun anvendes til værdier, der udelukkende styres af portalens indholdsforfattere eller andre brugere, der har forstand på at skrive Liquid-kode.

Kode

{{ page.adx_copy | liquid }}

Se også

Gemme kildeindhold ved hjælp af webskabeloner
Om Liquid-operatorer Liquid-typer
Liquid-objekter
Liquid-mærker
Liquid-filtre

Bemærk

Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)

Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).