Razpoložljivi filtri Liquid
Opomba
Od 12. oktobra 2022 najprej je portal Power Apps Power Pages. Več informacij: Microsoft Power Pages je zdaj splošno dostopen (spletni dnevnik)
Dokumentacijo portalov Power Apps bomo kmalu preselili in združili z dokumentacijo za Power Pages.
Filtri Liquid se uporabljajo za spreminjanje izhoda nizov, števil, spremenljivk in predmetov. Od vrednosti, za katero se uporabljajo, so ločeni z |.
{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->
Nekateri filtri sprejemajo parametre. Filtre je mogoče tudi združevati, uporabijo pa se v vrstnem redu od leve proti desni.
{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->
{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->
V spodnjem razdelku so opisani različni filtri.
Filtri polj
Filtri polj se uporabljajo za delo s polji.
razdeli v pakete
Razdeli polje v več polj določene velikosti.
Koda
{% assign batches = entityview.records | batch: 2 %}
{% for batch in batches %}
<ul>
{% for item in batch %}
<li>{{ item.fullname }}</li>
{% endfor %}
</ul>
{% endfor %}
Rezultat
<ul>
<li>John Smith</li>
<li>Dave Thomas</li>
</ul>
<ul>
<li>Jake Johnson</li>
<li>Jack Robinson</li>
</ul>
združi
Združi več polj v eno novo polje.
S podanim enim elementom kot parametrom »združi« vrne novo polje, ki je sestavljeno iz prvotnega polja, s podanim elementom kot zadnjim elementom.
Koda
Group #1: {{ group1 | join: ', ' }}
Group #2: {{ group2 | join: ', ' }}
Group #1 + Group #2: {{ group1 | concat: group2 | join: ', ' }}
Rezultat
Group #1: John, Pete, Hannah
Group #2: Joan, Bill
Group #1 + Group #2: John, Pete, Hannah, Joan, Bill
razen
Izbere vse predmete v polju, kjer dani atribut nima dane vrednosti. (To je obratno od where.)
Koda
{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
Rezultat
Jack Robinson
Prvi
Vrne prvi element polja.
V primerih, ko mora biti možnost »first« uporabljena znotraj oznake, se lahko uporabi tudi s posebnim zapisom s piko.
Koda
{% assign words = This is a run of text | split: %}
{{ words | first }}
{% if words.first == This %}
The first word is This.
{% endif %}
Rezultat
This
The first word is This.
group_by
Združi elemente v polju v skupine po danem atributu.
Koda
{% assign groups = entityview.records | group_by: 'address1_city' %}
{% for group in groups %}
{{ group.key }}:
{% for item in group.items %}
{{ item.fullname }}
{% endfor %}
{% endfor %}
Rezultat
Redmond:
John Smith
Dave Thomas
Jake Johnson
New York:
Jack Robinson
pridruži
Pridruži elemente polja znaku, posredovanemu kot parameter. Rezultat je en niz.
Koda
{% assign words = This is a run of text | split: %}
{{ words | join: , }}
Rezultat
This, is, a, run, of, text
Zadnja
Vrne zadnji element polja.
V primerih, ko mora biti možnost »last« uporabljena znotraj oznake, se lahko uporabi tudi s posebnim zapisom s piko.
Koda
{% assign words = This is a run of text | split: -%}
{{ words | last }}
{% if words.last == text -%}
The last word is text.
{% endif -%}
Rezultat
text
The last word is text.
order_by
Vrne elemente polja, razvrščene po danem atributu elementov polja.
Po želji lahko vnesete »desc« kot drugi parameter za razvrstitev elementov v padajočem zaporedju namesto v naraščajočem.
Koda
{{ entityview.records | order_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'fullname', 'desc' | join: ', ' }}
Rezultat
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
naključno
Vrne en naključno izbran element iz polja.
Koda
{{ group1 | join: ', ' }}
{{ group1 | random }}
Rezultat
John, Pete, Hannah
Pete
izberi
Izbere vrednost danega atributa za vsak element v polju in vrne te vrednosti kot polje.
Koda
{{ entityview.records | select: 'address1_city' | join: ', ' }}
Rezultat
Redmond, New York
pomešaj
Uveljavljeno za polje, vrne novo polje z enakimi elementi, v naključnem zaporedju.
Koda
{{ group1 | join: ', ' }}
{{ group1 | shuffle | join: ', ' }}
Rezultat
John, Pete, Hannah
Hannah, John, Pete
velikost
Vrne število elementov v polju.
V primerih, ko mora biti možnost »size« uporabljena znotraj oznake, se lahko uporabi tudi s posebnim zapisom s piko.
Koda
{% assign words = This is a run of text | split: -%}
{{ words | size }}
{% if words.size == 6 -%}
The text contains 6 words.
{% endif -%}
Rezultat
6
The text contains 6 words.
preskoči
Preskoči določeno število predmetov v polju in vrne ostale.
Koda
{% assign words = This is a run of text | split: %}
{{ words | skip: 3 | join: ', ' }}
Rezultat
run, of, text
vzemi
Vzame določeno število elementov iz polja in vrne vzete predmete.
Koda
{% assign words = This is a run of text | split: %}
{{ words | take: 3 | join: ', ' }}
Rezultat
This, is, a
then_by
Doda dodatna nadaljnja razvrščanja v polje, že razvrščeno po order_by.
Po želji lahko vnesete »desc« kot drugi parameter za razvrstitev elementov v padajočem zaporedju namesto v naraščajočem.
Koda
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname', 'desc' | join: ', ' }}
Rezultat
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
kje
Izbere vse predmete v polju, kjer ima dani atribut dano vrednost.
Koda
{% assign redmond = entityview.records | where: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
Rezultat
John Smith
Dave Thomas
Jake Johnson
Filtri datumov
Filtri datumov se lahko uporabijo za aritmetiko datuma ali pretvarjanje vrednosti DateTime v različne oblike zapisa.
date
Oblikuje vrednost DateTime na podlagi niza z obliko zapisa .NET.
Standardni nizi z obliko zapisa datuma in ure
Prilagojeni nizi z obliko zapisa datuma in ure
Koda
{{ now | date: 'g' }}
{{ now | date: 'MMMM dd, yyyy' }}
Rezultat
5/7/2018 7:20 AM
May 07, 2018
date_add_days
Vrednosti DateTime doda določeno število polnih dni in dni po delih. Vrednost parametra je lahko pozitivna ali negativna.
Koda
{{ now }}
{{ now | date_add_days: 1 }}
{{ now | date_add_days: -2.5 }}
Rezultat
5/7/2018 7:20:46 AM
5/8/2018 7:20:46 AM
5/4/2018 7:20:46 PM
date_add_hours
Vrednosti DateTime doda določeno število polnih ur in ur po delih. Vrednost parametra je lahko pozitivna ali negativna.
Koda
{{ now }}
{{ now | date_add_hours: 1 }}
{{ now | date_add_hours: -2.5 }}
Rezultat
5/7/2018 7:20:46 AM
5/7/2018 8:20:46 AM
5/7/2018 4:50:46 AM
date_add_minutes
Vrednosti DateTime doda določeno število polnih minut in minut po delih. Vrednost parametra je lahko pozitivna ali negativna.
Koda
{{ now }}
{{ now | date_add_minutes: 10 }}
{{ now | date_add_minutes: -2.5 }}
Rezultat
5/7/2018 7:20:46 AM
5/7/2018 7:30:46 AM
5/7/2018 7:18:16 AM
date_add_months
Vrednosti DateTime doda določeno število polnih mesecev in mesecev po delih. Vrednost parametra je lahko pozitivna ali negativna.
Koda
{{ now }}
{{ now | date_add_months: 1 }}
{{ now | date_add_months: -2 }}
Rezultat
5/7/2018 7:20:46 AM
6/7/2018 7:20:46 AM
3/7/2018 7:20:46 AM
date_add_seconds
Vrednosti DateTime doda določeno število polnih sekund in sekund po delih. Vrednost parametra je lahko pozitivna ali negativna.
Koda
{{ now }}
{{ now | date_add_seconds: 10 }}
{{ now | date_add_seconds: -1.25 }}
Rezultat
5/7/2018 7:20:46 AM
5/7/2018 7:20:56 AM
5/7/2018 7:20:45 AM
date_add_years
Vrednosti DateTime doda določeno število polnih let. Vrednost parametra je lahko pozitivna ali negativna.
Koda
{{ now }}
{{ now | date_add_years: 1 }}
{{ now | date_add_years: -2 }}
Rezultat
5/7/2018 7:20:46 AM
5/7/2019 7:20:46 AM
5/7/2016 7:20:46 AM
date_to_iso8601
Oblikuje vrednost DateTime glede na standard ISO 8601. Uporabno pri ustvarjanju virov Atom ali elementa <časa> HTML5.
Koda
{{ now | date_to_iso8601 }}
Rezultat
2018-05-07T07:20:46Z
date_to_rfc822
Oblikuje vrednost DateTime glede na standard RFC 822. Uporabno pri ustvarjanju možnosti Viri RSS.
Koda
{{ now | date_to_rfc822 }}
Rezultat
Mon, 07 May 2018 07:20:46 Z
Filtri seznama
Filtri seznama se uporabljajo za delo z določenimi vrednostmi atributov entitylist in kot pomoč pri ustvarjanju pogledov seznama.
current_sort
Na podlagi izraza razvrščanja vrne trenutno smer razvrščanja za dani atribut.
Koda
{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}
Rezultat
DESC
metafilters
Razčleni vrednost JSON entitylist filter_definition v predmete skupine možnosti filtra.
Možnost »metafilters« lahko izbirno zagotovite s trenutno poizvedbo filtra atributa in trenutno možnostjo entitylist, da so lahko vrnjeni predmeti filtra označeni kot izbrani ali neizbrani.
Koda
{% 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
Na podlagi smeri razvrščanja vrne nasprotno smer razvrščanja.
Koda
<!-- Sort direction is not case-sensitive -->
{{ 'ASC' | reverse_sort }}
{{ 'desc' | reverse_sort }}
Rezultat
DESC
ASC
Matematični filtri
Matematični filtri vam omogočajo, da izvajate matematične operacije s številkami.
Kot vsi drugi filtri se lahko tudi matematični filtri uporabljajo v nizu, uporabijo pa se v vrstnem redu od leve proti desni.
Koda
{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}
Rezultat
5
ceil
Zaokroži vrednost navzgor na najbližje celo število.
Koda
{{ 4.6 | ceil }}
{{ 4.3 | ceil }}
Rezultat
5
5
divided_by
Deli število z drugim številom.
Koda
{{ 10 | divided_by: 2 }}
{{ 10 | divided_by: 3 }}
{{ 10.0 | divided_by: 3 }}
Rezultat
5
3
3.333333
floor
Zaokroži vrednost navzdol na najbližje celo število.
Koda
{{ 4.6 | floor }}
{{ 4.3 | floor }}
Rezultat
4
4
minus
Odšteje število od drugega števila.
Koda
<!-- entityview.page = 11 -->
{{ entityview.page | minus: 1 }}
{{ 10 | minus: 1.1 }}
{{ 10.1 | minus: 1 }}
Rezultat
10
9
9.1
modulo
Deli število z drugim številom in vrne ostanek.
Koda
{{ 12 | modulo: 5 }}
Rezultat
2
plus
Številu prišteje drugo število.
Koda
<!-- entityview.page = 11 -->
{{ entityview.page | plus: 1 }}
{{ 10 | plus: 1.1 }}
{{ 10.1 | plus: 1 }}
Rezultat
12
11
11.1
round
Zaokroži vrednost na najbližje celo število ali na določeno število decimalnih mest.
Koda
{{ 4.6 | round }}
{{ 4.3 | round }}
{{ 4.5612 | round: 2 }}
Rezultat
5
4
4.56
times
Množi število z drugim številom.
Koda
{{ 10 | times: 2 }}
{{ 10 | times: 2.2 }}
{{ 10.1 | times: 2 }}
Izhod
20
20
20.2
Filtri nizov
Filtri nizov upravljajo nize.
append
Doda niz na konec drugega niza.
Koda
{{ 'filename' | append: '.js' }}
Rezultat
filename.js
capitalize
Prvo besedo v nizu zapiše z veliko začetnico.
Koda
{{ 'capitalize me' | capitalize }}
Rezultat
Capitalize Me
downcase
Pretvori niz v male črke.
Koda
{{ 'MIxed Case TExt' | downcase }}
Rezultat
mixed case text
escape
HTML – izhod iz niza.
Koda
{{ '<p>test</p>' | escape }}
Rezultat
<p>test</p>
newline_to_br
Vstavi oznako HTML preloma vrstice <br /> pri vsakem prelomu vrstice v nizu.
Koda
{% capture text %}
A
B
C
{% endcapture %}
{{ text | newline_to_br }}
Rezultat
A<br />
B<br />
C<br />
prepend
Doda niz na začetek drugega niza.
Koda
{{ 'Jane Johnson' | prepend: 'Dr. ' }}
Rezultat
Dr. Jane Johnson
remove
Iz niza odstrani vse primerke podniza.
Koda
{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}
Rezultat
Hello, . How are you, ?
remove_first
Iz niza odstrani prvi primerek podniza.
Koda
{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}
Rezultat
Hello, . How are you, Dave?
replace
Zamenja vse primerke niza s podnizom.
Koda
{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}
Rezultat
Hello, John. How are you, John?
replace_first
Zamenja prvi primerek niza s podnizom.
Koda
{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}
Rezultat
Hello, John. How are you, Dave?
split
Filter »split« prevzame podniz kot parameter. Podniz se uporablja kot ločilo za razdelitev niza v polje.
Koda
{% 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: ', ' }}
Rezultat
First word: This
First word: This
Second word: is
Last word: filter
All words: This, is, a, demo, of, the, split, filter
strip_html
Iz niza odstrani vse oznake HTML.
Koda
<p>Hello</p>
Rezultat
Hello
strip_newlines
Iz niza odstrani vse prelome vrstic.
Koda
{% capture text %}
A
B
C
{% endcapture %}
{{ text | strip_newlines }}
Rezultat
ABC
text_to_html
Niz z navadnim besedilom oblikuje kot preprost HTML. Celotno besedilo bo HTML-kodirano, besedilni sklopi, ločeni s prazno vrstico, bodo obdani z oznakami odstavka <p>, prelomi posameznih vrstic bodo zamenjani z oznako <br> in URL-ji bodo pretvorjeni v hiperpovezave.
Koda
{{ note.notetext | text_to_html }}
Rezultat
<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
Prireže niz na določeno število znakov. Nizu se dodajo tri pike (...), ki se vključijo v štetje znakov.
Koda
{{ 'This is a long run of text.' | truncate: 10 }}
Rezultat
This is...
truncate_words
Prireže niz na določeno število besed. Prirezanemu nizu se dodajo tri pike (...).
Koda
{{ 'This is a long run of text.' | truncate_words: 3 }}
Rezultat
This is a...
upcase
Pretvori niz v velike črke.
Koda
{{ 'MIxed Case TExt' | upcase }}
Rezultat
MIXED CASE TEXT
url_escape
Izhod URI-ja v nizu za vključitev v URL.
Koda
{{ 'This & that//' | url_escape }}
Rezultat
This+%26+that%2F%2F
xml_escape
Izhod XML-ja v nizu za vključitev v rezultat XML.
Koda
{{ '<p>test</p>' | xml_escape }}
Rezultat
<p>test</p>
Filtri vrst
Filtri vrst omogočajo pretvarjanje vrednosti ene vrste v druge vrste.
boolean
Poskuša pretvoriti vrednost niza v logično vrednost. Če je vrednost že logična vrednost, bo vrnjena nespremenjena. Če vrednosti ni mogoče pretvoriti v logično vrednost, bo vrnjeno »null«.
Ta filter sprejme tudi »vklop«, »omogočeno« ali »da« kot »true«, in »izklop«, »onemogočeno« in »ne« kot »false«.
Koda
{{ true | boolean }}
{{ 'false' | boolean }}
{{ 'enabled' | boolean }}
{{ settings['something/enabled'] | boolean | default: false }}
Izhod
true
false
true
false
decimalno
Poskuša pretvoriti vrednost niza v decimalno število. Če je vrednost že decimalno število, bo vrnjena nespremenjena. Če vrednosti ni mogoče pretvoriti v decimalno število, bo vrnjeno »null«.
Koda
{{ 10.1 | decimal }}
{{ '3.14' | decimal }}
{{ 'text' | decimal | default: 3.14 }}
Rezultat
10.1
3.14
3.14
integer
Poskuša pretvoriti vrednost niza v celoštevilsko vrednost. Če je vrednost že celoštevilska vrednost, bo vrnjena nespremenjena. Če vrednosti ni mogoče pretvoriti v celo število, bo vrnjeno »null«.
Koda
{{ 10 | integer }}
{{ '10' | integer }}
{{ '10.1' | integer }}
{{ 'text' | integer | default: 2 }}
Rezultat
10
10
2
string
Poskuša pretvoriti vrednost v ponazoritev niza. Če je vrednost že niz, bo vrnjena nespremenjena. Če je vrednost »null«, bo vrnjeno »null«.
Filtri URL
Filtri URL vam omogočajo, da izgradite ali izvlečete dele URL-jev.
add_query
Doda parameter niza poizvedbe v URL. Če parameter že obstaja v URL-ju, bo vrednost parametra posodobljena.
Če ta filter uporabite na polnem absolutnem URL-ju, posodobljen absoluten URL. Če ga uporabite na poti, bo pot posodobljena.
Koda
{{ 'https://example.com/path?page=1' | add_query: 'foo', 'bar' }}
{{ '/path?page=1' | add_query: 'page', 2 }}
Rezultat
https://example.com/path?page=1&foo=bar
/path?page=2
base
Pridobi osnovni URL danega URL-ja.
Koda
{{ 'https://example.com/path?foo=bar&page=2' | base }}
Rezultat
https://example.com
host
Pridobi del URL-ja, ki se nanaša na gostitelja.
Koda
{{ 'https://example.com/path?foo=bar&page=2' | host }}
Rezultat
example.com
path
Pridobi del URL-ja, ki se nanaša na pot.
Koda
{{ 'https://example.com/path?foo=bar&page=2' | path }}
{{ '/path?foo=bar&page=2' | path }}
Rezultat
/path
/path
path_and_query
Pridobi del URL-ja, ki se nanaša na pot in poizvedbo.
Koda
{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}
{{ '/path?foo=bar&page=2' | path_and_query }}
Rezultat
/path?foo=bar&page=2
/path?foo=bar&page=2
port
Pridobi številko vrat URL-ja.
Koda
{{ '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 }}
Rezultat
80
443
9000
remove_query
Odstrani parameter niza poizvedbe iz URL-ja. Če parameter ne obstaja v URL-ju, bo vrnjen URL nespremenjen.
Če ta filter uporabite na polnem absolutnem URL-ju, posodobljen absoluten URL. Če ga uporabite na poti, bo pot posodobljena.
Koda
{{ 'https://example.com/path?page=1' | remove_query: 'page' }}
{{ '/path?page=1' | remove_query: 'page' }}
Rezultat
https://example.com/path
/path
scheme
Pridobi del URL-ja, ki se nanaša na shemo.
Koda
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
Rezultat
http
https
Dodatni filtri
Ti filtri omogočajo uporabne splošne funkcije.
default
Vrne privzeto vrednost za vse spremenljivke brez dodeljene vrednosti (npr. »null«).
Koda
{{ snippets[Header] | default: 'My Website' }}
Rezultat
<!-- If a snippet with the name Header returns null -->
My Website
file_size
Uporablja se za številčno vrednost, ki predstavlja število bajtov, vrne oblikovano datoteko z enoto v ustreznem merilu.
Če želite nadzorovati število decimalnih mest v rezultatu, lahko uporabite parameter natančnosti. Privzeta natančnost je 1.
Koda
{{ 10000000 | file_size }}
{{ 2050 | file_size: 0 }}
{{ entity.notes.first.filesize | file_size: 2 }}
Rezultat
9.5 MB
2 KB
207.14 KB
has_role
Uporabljeno za uporabnika; vrne vrednost »true«, če uporabnik pripada določeni vlogi. Vrne »false«, če to ne drži.
Koda
{% assign is_admin = user | has_role: 'Administrators' %}
{% if is_admin %}
User is an administrator.
{% endif %}
liquid
Niz upodobi kot kodo Liquid. Ta koda bo imela dostop do trenutnega konteksta izvajanja Liquid (spremenljivke, itd.).
Opomba
Ta filter je treba uporabljati previdno in na splošno le za vrednosti, ki so pod izključnim nadzorom avtorjev vsebine portala ali drugih uporabnikov, ki so zmožni pisati kodo Liquid.
Koda
{{ page.adx_copy | liquid }}
Glejte tudi
Shranjevanje izvorne vsebine z uporabo spletnih predlog
Razlaga operatorjev Liquid
Vrste Liquid
Predmeti Liquid
Oznake Liquid
Filtri Liquid
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).