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
<p>test</p>
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
<p>test</p>
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).