Filter Liquid yang tersedia
Catatan
Mulai 12 Oktober 2022, portal Power Apps menjadi Power Pages. Informasi selengkapnya: Microsoft Power Pages kini tersedia secara umum (blog)
Kami akan segera memigrasikan dan menggabungkan dokumentasi portal Power Apps dengan dokumentasi Power Pages.
Filter Liquid digunakan untuk memodifikasi output string, angka, variabel, dan objek. Mereka dipisahkan dari nilai penerapan mereka oleh |.
{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->
Beberapa filter menerima parameter. Filter juga dapat dikombinasikan, dan diterapkan dalam urutan dari kiri ke kanan.
{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->
{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->
Bagian bawah menggambarkan berbagai filter.
Filter larik
Filter larik digunakan untuk bekerja dengan larik.
batch
Membagi sebuah larik dalam beberapa larik dari ukuran tertentu.
Kode
{% assign batches = entityview.records | batch: 2 %}
{% for batch in batches %}
<ul>
{% for item in batch %}
<li>{{ item.fullname }}</li>
{% endfor %}
</ul>
{% endfor %}
Output
<ul>
<li>John Smith</li>
<li>Dave Thomas</li>
</ul>
<ul>
<li>Jake Johnson</li>
<li>Jack Robinson</li>
</ul>
concat
Menggabungkan dua larik ke dalam satu larik baru.
Dengan sebuah item sebagai parameter, concat menghasilkan larik baru yang terdiri dari larik yang asli, dengan item yang diberikan sebagai elemen terakhir.
Kode
Group #1: {{ group1 | join: ', ' }}
Group #2: {{ group2 | join: ', ' }}
Group #1 + Group #2: {{ group1 | concat: group2 | join: ', ' }}
Output
Group #1: John, Pete, Hannah
Group #2: Joan, Bill
Group #1 + Group #2: John, Pete, Hannah, Joan, Bill
except
Pilih semua objek dalam sebuah larik yang mana atribut tertentu tidak memiliki nilai yang tertentu. (Ini adalah kebalikan dariwhere.)
Kode
{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
Output
Jack Robinson
pertama
Menghasilkan elemen pertama dari larik.
first juga dapat digunakan dengan notasi titik khusus, dalam kasus yang mana dibutuhkan untuk digunakan di dalam tag.
Kode
{% assign words = This is a run of text | split: %}
{{ words | first }}
{% if words.first == This %}
The first word is This.
{% endif %}
Output
This
The first word is This.
group_by
Kelompokkan item dalam sebuah larik dengan atribut yang diberikan.
Kode
{% assign groups = entityview.records | group_by: 'address1_city' %}
{% for group in groups %}
{{ group.key }}:
{% for item in group.items %}
{{ item.fullname }}
{% endfor %}
{% endfor %}
Output
Redmond:
John Smith
Dave Thomas
Jake Johnson
New York:
Jack Robinson
join
Menggabung elemen-elemen larik dengan karakter yang dikirimkan sebagai parameter. Hasilnya adalah string tunggal.
Kode
{% assign words = This is a run of text | split: %}
{{ words | join: , }}
Output
This, is, a, run, of, text
terakhir
Menghasilkan elemen terakhir dari larik.
last juga dapat digunakan dengan notasi titik khusus, dalam kasus yang mana dibutuhkan untuk digunakan di dalam tag.
Kode
{% assign words = This is a run of text | split: -%}
{{ words | last }}
{% if words.last == text -%}
The last word is text.
{% endif -%}
Output
text
The last word is text.
order_by
Menghasilkan unsur-unsur dari sebuah larik yang diurutkan menurut sebuah atribut tertentu elemen larik.
Opsional, Anda dapat memberikan desc sebagai parameter kedua untuk menyortir elemen dalam urutan menurun, bukan naik.
Kode
{{ entityview.records | order_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'fullname', 'desc' | join: ', ' }}
Output
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
random
Menghasilkan satu item yang dipilih secara acak dari larik.
Kode
{{ group1 | join: ', ' }}
{{ group1 | random }}
Output
John, Pete, Hannah
Pete
select
Memilih nilai dari atribut tertentu untuk setiap item dalam larik, dan menghasilkan nilai-nilai ini sebagai larik.
Kode
{{ entityview.records | select: 'address1_city' | join: ', ' }}
Output
Redmond, New York
shuffle
Diterapkan ke larik, mengembalikan larik baru dengan item yang sama, dalam urutan acak.
Kode
{{ group1 | join: ', ' }}
{{ group1 | shuffle | join: ', ' }}
Output
John, Pete, Hannah
Hannah, John, Pete
size
Menghasilkan jumlah item dalam larik.
size juga dapat digunakan dengan notasi titik khusus, dalam kasus yang mana dibutuhkan untuk digunakan di dalam tag.
Kode
{% assign words = This is a run of text | split: -%}
{{ words | size }}
{% if words.size == 6 -%}
The text contains 6 words.
{% endif -%}
Output
6
The text contains 6 words.
skip
Melompat jumlah item tertentu dalam larik, dan menghasilkan sisanya.
Kode
{% assign words = This is a run of text | split: %}
{{ words | skip: 3 | join: ', ' }}
Output
run, of, text
take
Mengambil sejumlah tertentu item dari larik, menghasilkan item yang diambil.
Kode
{% assign words = This is a run of text | split: %}
{{ words | take: 3 | join: ', ' }}
Output
This, is, a
then_by
Menambahkan urutan berikutnya ke larik yang sudah diperintahkan olehorder_by.
Opsional, Anda dapat memberikan desc sebagai parameter kedua untuk menyortir elemen dalam urutan menurun, bukan naik.
Kode
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname', 'desc' | join: ', ' }}
Output
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
lokasi
Pilih semua objek dalam sebuah larik yang mana atribut tertentu memiliki nilai yang tertentu.
Kode
{% assign redmond = entityview.records | where: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
Output
John Smith
Dave Thomas
Jake Johnson
Filter tanggal
Filter tanggal dapat digunakan untuk aritmatika tanggal atau untuk mengkonversi nilai-nilai DateTime ke dalam berbagai format.
date
Memformat nilai DateTime dengan menggunakan string format .NET.
String Format waktu dan tanggal standar
String Format waktu dan tanggal Kustom
Kode
{{ now | date: 'g' }}
{{ now | date: 'MMMM dd, yyyy' }}
Output
5/7/2018 7:20 AM
May 07, 2018
date_add_days
Menambah jumlah yang ditentukan dari seluruh dan pecahan hari pada nilai DateTime. Parameter dapat menjadi positif atau negatif.
Kode
{{ now }}
{{ now | date_add_days: 1 }}
{{ now | date_add_days: -2.5 }}
Output
5/7/2018 7:20:46 AM
5/8/2018 7:20:46 AM
5/4/2018 7:20:46 PM
date_add_hours
Menambah jumlah yang ditentukan dari seluruh dan pecahan jam pada nilai DateTime. Parameter dapat menjadi positif atau negatif.
Kode
{{ now }}
{{ now | date_add_hours: 1 }}
{{ now | date_add_hours: -2.5 }}
Output
5/7/2018 7:20:46 AM
5/7/2018 8:20:46 AM
5/7/2018 4:50:46 AM
date_add_minutes
Menambah jumlah yang ditentukan dari seluruh dan pecahan menit pada nilai DateTime. Parameter dapat menjadi positif atau negatif.
Kode
{{ now }}
{{ now | date_add_minutes: 10 }}
{{ now | date_add_minutes: -2.5 }}
Output
5/7/2018 7:20:46 AM
5/7/2018 7:30:46 AM
5/7/2018 7:18:16 AM
date_add_months
Menambah jumlah yang ditentukan dari seluruh dan pecahan bulan pada nilai DateTime. Parameter dapat menjadi positif atau negatif.
Kode
{{ now }}
{{ now | date_add_months: 1 }}
{{ now | date_add_months: -2 }}
Output
5/7/2018 7:20:46 AM
6/7/2018 7:20:46 AM
3/7/2018 7:20:46 AM
date_add_seconds
Menambah jumlah yang ditentukan dari seluruh dan pecahan detik pada nilai DateTime. Parameter dapat menjadi positif atau negatif.
Kode
{{ now }}
{{ now | date_add_seconds: 10 }}
{{ now | date_add_seconds: -1.25 }}
Output
5/7/2018 7:20:46 AM
5/7/2018 7:20:56 AM
5/7/2018 7:20:45 AM
date_add_years
Menambah jumlah yang ditentukan dari seluruh dan pecahan tahun pada nilai DateTime. Parameter dapat menjadi positif atau negatif.
Kode
{{ now }}
{{ now | date_add_years: 1 }}
{{ now | date_add_years: -2 }}
Output
5/7/2018 7:20:46 AM
5/7/2019 7:20:46 AM
5/7/2016 7:20:46 AM
date_to_iso8601
Memformat nilai DateTime menurut ISO 8601 standar. Berguna ketika membuat elemen Atom feed, atau elemen <time> HTML5.
Kode
{{ now | date_to_iso8601 }}
Output
2018-05-07T07:20:46Z
date_to_rfc822
Memformat nilai DateTime menurut RFC 822 standar. Berguna ketika membuat RSS feed.
Kode
{{ now | date_to_rfc822 }}
Output
Mon, 07 May 2018 07:20:46 Z
Filter daftar
Filter daftar digunakan untuk bekerja dengan nilai atribut entitylist, dan untuk membantu membuat tampilan daftar.
current_sort
Dalam ekspresi urutan tertentu, menghasilkan arah sortiran saat ini untuk atribut tertentu.
Kode
{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}
Output
DESC
metafilters
Mem-parsing nilai JSON definisi entitylist filter_ke objek grup pilihan filter.
metafilters dapat opsional disediakan dengan kueri filter atribut saat ini dan entitylist saat ini, yang memungkinkan objek filter yang dihasilkan untuk ditandai sebagai dipilih atau tidak dipilih.
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
Dalam arah sortiran tertentu, menghasilkan arah sortiran yang berlawanan.
Kode
<!-- Sort direction is not case-sensitive -->
{{ 'ASC' | reverse_sort }}
{{ 'desc' | reverse_sort }}
Output
DESC
ASC
Filter Matematika
Filter Matematika memungkinkan Anda untuk melakukan operasi matematika pada angka.
Seperti pada semua filter, filter matematika juga dapat dibuat berantai, dan diterapkan dalam urutan dari kiri ke kanan.
Kode
{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}
Output
5
ceil
Membulatkan nilai ke atas hingga bilangan bulat terdekat.
Kode
{{ 4.6 | ceil }}
{{ 4.3 | ceil }}
Output
5
5
divided_by
Membagi angka dengan angka lain.
Kode
{{ 10 | divided_by: 2 }}
{{ 10 | divided_by: 3 }}
{{ 10.0 | divided_by: 3 }}
Output
5
3
3.333333
floor
Membulatkan nilai ke bawah hingga bilangan bulat terdekat.
Kode
{{ 4.6 | floor }}
{{ 4.3 | floor }}
Output
4
4
minus
Mengurangi angka dari angka lain.
Kode
<!-- entityview.page = 11 -->
{{ entityview.page | minus: 1 }}
{{ 10 | minus: 1.1 }}
{{ 10.1 | minus: 1 }}
Output
10
9
9.1
modulo
Membagi angka dengan angka lain dan menghasilkan sisanya.
Kode
{{ 12 | modulo: 5 }}
Output
2
plus
Menambahkan angka ke angka lain.
Kode
<!-- entityview.page = 11 -->
{{ entityview.page | plus: 1 }}
{{ 10 | plus: 1.1 }}
{{ 10.1 | plus: 1 }}
Output
12
11
11.1
round
Putaran nilai bilangan bulat terdekat atau jumlah desimal yang ditentukan.
Kode
{{ 4.6 | round }}
{{ 4.3 | round }}
{{ 4.5612 | round: 2 }}
Output
5
4
4.56
times
Mengalikan angka dengan angka lain.
Kode
{{ 10 | times: 2 }}
{{ 10 | times: 2.2 }}
{{ 10.1 | times: 2 }}
Output
20
20
20.2
Filter string
Filter string Memanipulasi string.
append
Menambahkan string ke ujung string lain.
Kode
{{ 'filename' | append: '.js' }}
Output
filename.js
capitalize
memanfaatkan kata pertama dalam string.
Kode
{{ 'capitalize me' | capitalize }}
Output
Capitalize Me
downcase
Mengkonversi string ke dalam huruf kecil.
Kode
{{ 'MIxed Case TExt' | downcase }}
Output
mixed case text
escape
Meloloskan string secara HTML
Kode
{{ '<p>test</p>' | escape }}
Output
<p>test</p>
newline_to_br
Menyisipkan tag HTML penggal baris <br /> di setiap penggal baris dalam string.
Kode
{% capture text %}
A
B
C
{% endcapture %}
{{ text | newline_to_br }}
Output
A<br />
B<br />
C<br />
prepend
Menambahkan string ke awal string lain.
Kode
{{ 'Jane Johnson' | prepend: 'Dr. ' }}
Output
Dr. Jane Johnson
remove
Hapus semua kemunculan substring dari string.
Kode
{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}
Output
Hello, . How are you, ?
remove_first
Menghapus kemunculan pertama substring dari string.
Kode
{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}
Output
Hello, . How are you, Dave?
replace
Menghapus semua kemunculan string dengan substring.
Kode
{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}
Output
Hello, John. How are you, John?
replace_first
Mengganti kemunculan pertama string dengan substring.
Kode
{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}
Output
Hello, John. How are you, Dave?
split
Filter split memperlakukan substring sebagai parameter. Substring digunakan sebagai pembatas untuk membagi sebuah string ke dalam larik.
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: ', ' }}
Output
First word: This
First word: This
Second word: is
Last word: filter
All words: This, is, a, demo, of, the, split, filter
strip_html
Menghapus semua tag HTML dari string.
Kode
<p>Hello</p>
Output
Hello
strip_newlines
Menghapus penggal baris dari string.
Kode
{% capture text %}
A
B
C
{% endcapture %}
{{ text | strip_newlines }}
Output
ABC
text_to_html
Memformat teks polos sebagai HTML sederhana. Semua teks akan dikodekan HTML, blok teks yang dipisahkan oleh baris kosong akan dibungkus dalam tag <p> paragraf, penggal baris tunggal akan diganti dengan <br>, dan URL akan diubah ke hyperlink.
Kode
{{ note.notetext | text_to_html }}
Output
<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
Memotong string ke sejumlah karakter tertentu. Elipsis (...) ditambahkan ke string dan termasuk dalam jumlah karakter.
Kode
{{ 'This is a long run of text.' | truncate: 10 }}
Output
This is...
truncate_words
Memotong string ke sejumlah kata tertentu. Elipsis (...) ditambahkan ke string terpotong.
Kode
{{ 'This is a long run of text.' | truncate_words: 3 }}
Output
This is a...
upcase
Mengkonversi string ke dalam huruf besar.
Kode
{{ 'MIxed Case TExt' | upcase }}
Output
MIXED CASE TEXT
url_escape
Meloloskan string secara URI, untuk dimasukkan ke dalam URL.
Kode
{{ 'This & that//' | url_escape }}
Output
This+%26+that%2F%2F
xml_escape
Meloloskan string secara XML, untuk dimasukkan ke dalam output XML.
Kode
{{ '<p>test</p>' | xml_escape }}
Output
<p>test</p>
Filter Jenis
Filter Jenis memungkinkan Anda untuk mengkonversi nilai-nilai jenis yang satu ke jenis lain.
boolean
Berupaya untuk mengkonversi nilai string ke Boolean. Jika nilai sudah Boolean, itu akan dihasilkan tidak berubah. Jika nilai tidak dapat diubah menjadi Boolean, null akan dihasilkan.
Filter ini akan juga menerima on, enabled, atau true sebagai , dan off, disabled, dan no sebagai false.
Kode
{{ true | boolean }}
{{ 'false' | boolean }}
{{ 'enabled' | boolean }}
{{ settings['something/enabled'] | boolean | default: false }}
Output
true
false
true
false
decimal
Berupaya untuk mengkonversi nilai string ke angka desimal. Jika nilai sudah angka desimal, itu akan dihasilkan tidak berubah. Jika nilai tidak dapat diubah menjadi angka desimal, null akan dihasilkan.
Kode
{{ 10.1 | decimal }}
{{ '3.14' | decimal }}
{{ 'text' | decimal | default: 3.14 }}
Output
10.1
3.14
3.14
integer
Berupaya untuk mengkonversi nilai string ke bilangan bulat. Jika nilai sudah bilangan bulat, itu akan dihasilkan tidak berubah. Jika nilai tidak dapat diubah menjadi bilangan bulat, null akan dihasilkan.
Kode
{{ 10 | integer }}
{{ '10' | integer }}
{{ '10.1' | integer }}
{{ 'text' | integer | default: 2 }}
Output
10
10
2
string
Berupaya untuk mengkonversi nilai string ke representasinya. Jika nilai sudah string, itu akan dihasilkan tidak berubah. Jika nilai null, null akan dihasilkan.
filter URL
Filter URL memungkinkan Anda untuk membangun atau ekstrak bagian URL.
add_query
Menambahkan parameter string kueri ke URL. Jika parameter sudah ada dalam URL, nilai parameter akan diperbarui.
Jika filter ini diterapkan ke URL penuh mutlak, URL absolut diperbarui akan menjadi hasil. Jika diterapkan untuk jalur, jalur yang diperbarui akan menjadi hasil.
Kode
{{ 'https://example.com/path?page=1' | add_query: 'foo', 'bar' }}
{{ '/path?page=1' | add_query: 'page', 2 }}
Output
https://example.com/path?page=1&foo=bar
/path?page=2
base
Mendapat URL basis dari URL yang diberikan.
Kode
{{ 'https://example.com/path?foo=bar&page=2' | base }}
Output
https://example.com
host
Mendapat bagian inang URL.
Kode
{{ 'https://example.com/path?foo=bar&page=2' | host }}
Output
example.com
path
Mendapat bagian jalur URL.
Kode
{{ 'https://example.com/path?foo=bar&page=2' | path }}
{{ '/path?foo=bar&page=2' | path }}
Output
/path
/path
path_and_query
Mendapat bagian jalur dan kueri URL.
Kode
{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}
{{ '/path?foo=bar&page=2' | path_and_query }}
Output
/path?foo=bar&page=2
/path?foo=bar&page=2
port
Mendapatkan nomor port URL.
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 }}
Output
80
443
9000
remove_query
Menghapus parameter string kueri dari URL. Jika parameter tidak ada dalam URL, URL akan dikembalikan tidak berubah.
Jika filter ini diterapkan ke URL penuh mutlak, URL absolut diperbarui akan menjadi hasil. Jika diterapkan untuk jalur, jalur yang diperbarui akan menjadi hasil.
Kode
{{ 'https://example.com/path?page=1' | remove_query: 'page' }}
{{ '/path?page=1' | remove_query: 'page' }}
Output
https://example.com/path
/path
scheme
Mendapat bagian skema URL.
Kode
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
Output
http
https
Filter Tambahan
Filter ini menyediakan fungsi umum yang berguna.
default
Menghasilkan nilai standar untuk setiap variabel dengan tidak ada nilai yang ditetapkan (yaitu null).
Kode
{{ snippets[Header] | default: 'My Website' }}
Output
<!-- If a snippet with the name Header returns null -->
My Website
file_size
Diterapkan untuk nilai angka yang mewakili sejumlah byte, menghasilkan ukuran file diformat dengan unit skala yang sesuai.
Opsional, parameter presisi dapat diteruskan, untuk mengontrol jumlah tempat desimal di hasilnya. Presisi default adalah 1.
Kode
{{ 10000000 | file_size }}
{{ 2050 | file_size: 0 }}
{{ entity.notes.first.filesize | file_size: 2 }}
Output
9.5 MB
2 KB
207.14 KB
has_role
Diterapkan pada pengguna, menghasilkan true jika pengguna tercakup pada peran tertentu. Menghasilkan false jika tidak.
Kode
{% assign is_admin = user | has_role: 'Administrators' %}
{% if is_admin %}
User is an administrator.
{% endif %}
liquid
Menuliskan string sebagai kode Liquid. Kode ini akan memiliki akses konteks eksekusi Liquid saat ini (variabel, dll.).
Catatan
Filter ini harus digunakan dengan hati-hati dan umumnya harus hanya diterapkan untuk nilai-nilai yang ada di bawah kendali eksklusif penulis konten portal, atau pengguna lain yang dapat dipercaya untuk menulis kode Liquid.
Kode
{{ page.adx_copy | liquid }}
Lihat juga
Menyimpan sumber konten menggunakan web template
Memahami operator Liquid
Jenis Liquid
Objek Liquid
Tag Liquid
Filter Liquid
Catatan
Apa bahasa dokumentasi yang Anda inginkan? Lakukan survei singkat. (perlu diketahui bahwa survei ini dalam bahasa Inggris)
Survei akan berlangsung kurang lebih selama tujuh menit. Tidak ada data pribadi yang dikumpulkan (pernyataan privasi).