ตัวกรอง Liquid ที่พร้อมใช้งาน
ตัวกรอง Liquid จะถูกใช้เพื่อปรับเปลี่ยนผลลัพธ์ของสตริงที่ หมายเลข ตัวแปร และออบเจ็กต์ ตัวกรองจะถูกแยกออกจากค่าไปยังที่ที่จะถูกนำไปใช้โดย |
{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->
ตัวกรองบางตัวยอมรับพารามิเตอร์ นอกจากนี้ตัวกรองยังสามารถถูกรวม และถูกใช้ตามลำดับจากซ้ายไปขวา
{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->
{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->
ส่วนด้านล่างอธิบายเกี่ยวกับตัวกรองต่าง ๆ
ตัวกรองอาร์เรย์
ตัวกรองอาร์เรย์ถูกใช้ในการทำงานกับ อาร์เรย์
ชุดงาน
แบ่งอาร์เรย์ออกเป็นหลายๆอาร์เรย์ของขนาดที่กำหนดไว้
รหัส
{% assign batches = entityview.records | batch: 2 %}
{% for batch in batches %}
<ul>
{% for item in batch %}
<li>{{ item.fullname }}</li>
{% endfor %}
</ul>
{% endfor %}
ผลลัพธ์
<ul>
<li>John Smith</li>
<li>Dave Thomas</li>
</ul>
<ul>
<li>Jake Johnson</li>
<li>Jack Robinson</li>
</ul>
CONCAT
รวมอาร์เรย์สองรายการเป็นอาร์เรย์ใหม่แบบเดี่ยว
เมื่อกำหนดให้รายการเดี่ยวเป็นพารามิเตอร์ concat จะส่งกลับค่าอาร์เรย์ใหม่ที่ประกอบด้วยอาร์เรย์ดั้งเดิม กับรายการที่ระบุให้เป็นองค์ประกอบสุดท้าย
รหัส
Group #1: {{ group1 | join: ', ' }}
Group #2: {{ group2 | join: ', ' }}
Group #1 + Group #2: {{ group1 | concat: group2 | join: ', ' }}
ผลลัพธ์
Group #1: John, Pete, Hannah
Group #2: Joan, Bill
Group #1 + Group #2: John, Pete, Hannah, Joan, Bill
ยกเว้น
เลือกออบเจ็กต์ทั้งหมดในอาร์เรย์ซึ่งแอตทริบิวต์ที่กำหนดไม่มีค่าที่กำหนดให้ (ซึ่งเป็นค่าผกผันของ โดยที่)
รหัส
{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
เอาท์พุท
Jack Robinson
ที่หนึ่ง
ส่งกลับองค์ประกอบแรกของอาร์เรย์
ก่อน ยังสามารถใช้กับเครื่องหมายจุดแบบพิเศษ ในกรณีที่ต้องการใช้ภายในแท็ก
รหัส
{% assign words = This is a run of text | split: %}
{{ words | first }}
{% if words.first == This %}
The first word is This.
{% endif %}
ผลลัพธ์
This
The first word is This.
จัดกลุ่มตาม
จัดกลุ่มรายการในอาร์เรย์ โดยแอตทริบิวต์ที่กำหนด
รหัส
{% assign groups = entityview.records | group_by: 'address1_city' %}
{% for group in groups %}
{{ group.key }}:
{% for item in group.items %}
{{ item.fullname }}
{% endfor %}
{% endfor %}
ผลลัพธ์
Redmond:
John Smith
Dave Thomas
Jake Johnson
New York:
Jack Robinson
เข้าร่วม
รวมองค์ประกอบของอาร์เรย์ ด้วยอักขระที่ถูกส่งผ่านเป็นพารามิเตอร์ ผลลัพธ์เป็นสตริงเดี่ยว
รหัส
{% assign words = This is a run of text | split: %}
{{ words | join: , }}
ผลลัพธ์
This, is, a, run, of, text
สุดท้าย
ส่งกลับองค์ประกอบสุดท้ายของอาร์เรย์
สุดท้าย ยังสามารถใช้กับเครื่องหมายจุดแบบพิเศษ ในกรณีที่ต้องการใช้ภายในแท็ก
รหัส
{% assign words = This is a run of text | split: -%}
{{ words | last }}
{% if words.last == text -%}
The last word is text.
{% endif -%}
เอาท์พุท
text
The last word is text.
order_by
ส่งกลับองค์ประกอบของอาร์เรย์โดยเรียงตามแอตทริบิวต์ที่กำหนดขององค์ประกอบของอาร์เรย์
อีกทางหนึ่งคือ คุณสามารถให้ คำอธิบาย เป็นพารามิเตอร์ที่สอง เพื่อจัดเรียงองค์ประกอบในลำดับจากมากไปหาน้อย แทนที่จะเป็นจากน้อยไปหามาก
รหัส
{{ entityview.records | order_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'fullname', 'desc' | join: ', ' }}
เอาท์พุท
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
แบบสุ่ม
ส่งคืนรายการที่เลือกโดยการสุ่มครั้งเดียวจากอาร์เรย์
รหัส
{{ group1 | join: ', ' }}
{{ group1 | random }}
เอาท์พุท
John, Pete, Hannah
Pete
เลือก
เลือกค่าของแอตทริบิวต์ที่กำหนดสำหรับสินค้าแต่ละรายการในอาร์เรย์ และส่งกลับค่าเหล่านี้เป็นแบบอาร์เรย์
รหัส
{{ entityview.records | select: 'address1_city' | join: ', ' }}
ผลลัพธ์
Redmond, New York
สลับ
เมื่อนำไปใช้กับอาร์เรย์ ส่งกลับค่าอาร์เรย์ใหม่ด้วยรายการเดิม ในการเรียงลำดับแบบสุ่ม
รหัส
{{ group1 | join: ', ' }}
{{ group1 | shuffle | join: ', ' }}
ผลลัพธ์
John, Pete, Hannah
Hannah, John, Pete
ขนาด
ส่งกลับจำนวนของรายการในอาร์เรย์
ขนาด ยังสามารถใช้กับเครื่องหมายจุดแบบพิเศษ ในกรณีที่ต้องการใช้ภายในแท็ก
รหัส
{% assign words = This is a run of text | split: -%}
{{ words | size }}
{% if words.size == 6 -%}
The text contains 6 words.
{% endif -%}
ผลลัพธ์
6
The text contains 6 words.
ข้าม
ข้ามจำนวนที่กำหนดของรายการที่อยู่ในอาร์เรย์ และส่งกลับส่วนที่เหลือ
รหัส
{% assign words = This is a run of text | split: %}
{{ words | skip: 3 | join: ', ' }}
ผลลัพธ์
run, of, text
ใช้
ใช้จำนวนที่กำหนดของรายการจากอาร์เรย์ ที่ส่งคืนรายการที่ใช้แล้ว
รหัส
{% assign words = This is a run of text | split: %}
{{ words | take: 3 | join: ', ' }}
เอาท์พุท
This, is, a
then_by
เพิ่มการจัดลำดับเพิ่มเติมไปยังอาร์เรย์ที่ได้ถูกเรียงลำดับแล้วโดย order_by
อีกทางหนึ่งคือ คุณสามารถให้ คำอธิบาย เป็นพารามิเตอร์ที่สอง เพื่อจัดเรียงองค์ประกอบในลำดับจากมากไปหาน้อย แทนที่จะเป็นจากน้อยไปหามาก
รหัส
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname', 'desc' | join: ', ' }}
ผลลัพธ์
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
ที่ซึ่ง
เลือกออบเจ็กต์ทั้งหมดในอาร์เรย์ซึ่งแอตทริบิวต์ที่กำหนดมีค่าที่กำหนดให้
รหัส
{% assign redmond = entityview.records | where: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
ผลลัพธ์
John Smith
Dave Thomas
Jake Johnson
ตัวกรองวันที่
ตัวกรองวันที่สามารถใช้สำหรับการคำนวณวันที่ หรือแปลงค่าวันที่และเวลาเป็นรูปแบบต่าง ๆ
วันที่
จัดรูปแบบค่าวันที่และเวลาโดยใช้สตริงรูปแบบ .NET
สตริงรูปแบบวันที่และเวลามาตรฐาน
สตริงรูปแบบวันที่และเวลาแบบกำหนดเอง
รหัส
{{ now | date: 'g' }}
{{ now | date: 'MMMM dd, yyyy' }}
เอาท์พุท
5/7/2018 7:20 AM
May 07, 2018
date_add_days
เพิ่มจำนวนวันทั้งหมดและที่เป็นเศษส่วนที่ระบุ ไปยังค่าวันที่และเวลา พารามิเตอร์สามารถเป็นค่าบวกหรือค่าลบ
รหัส
{{ now }}
{{ now | date_add_days: 1 }}
{{ now | date_add_days: -2.5 }}
เอาท์พุท
5/7/2018 7:20:46 AM
5/8/2018 7:20:46 AM
5/4/2018 7:20:46 PM
date_add_hours
เพิ่มจำนวนชั่วโมงทั้งหมดและที่เป็นเศษส่วนที่ระบุ ไปยังค่าวันที่และเวลา พารามิเตอร์สามารถเป็นค่าบวกหรือค่าลบ
รหัส
{{ now }}
{{ now | date_add_hours: 1 }}
{{ now | date_add_hours: -2.5 }}
เอาท์พุท
5/7/2018 7:20:46 AM
5/7/2018 8:20:46 AM
5/7/2018 4:50:46 AM
date_add_minutes
เพิ่มจำนวนนาทีทั้งหมดและที่เป็นเศษส่วนที่ระบุ ไปยังค่าวันที่และเวลา พารามิเตอร์สามารถเป็นค่าบวกหรือค่าลบ
รหัส
{{ now }}
{{ now | date_add_minutes: 10 }}
{{ now | date_add_minutes: -2.5 }}
เอาท์พุท
5/7/2018 7:20:46 AM
5/7/2018 7:30:46 AM
5/7/2018 7:18:16 AM
date_add_months
เพิ่มจำนวนเดือนทั้งหมดและที่เป็นเศษส่วนที่ระบุ ไปยังค่าวันที่และเวลา พารามิเตอร์สามารถเป็นค่าบวกหรือค่าลบ
รหัส
{{ now }}
{{ now | date_add_months: 1 }}
{{ now | date_add_months: -2 }}
เอาท์พุท
5/7/2018 7:20:46 AM
6/7/2018 7:20:46 AM
3/7/2018 7:20:46 AM
date_add_seconds
เพิ่มจำนวนวินาทีทั้งหมดและที่เป็นเศษส่วนที่ระบุ ไปยังค่าวันที่และเวลา พารามิเตอร์สามารถเป็นค่าบวกหรือค่าลบ
รหัส
{{ now }}
{{ now | date_add_seconds: 10 }}
{{ now | date_add_seconds: -1.25 }}
เอาท์พุท
5/7/2018 7:20:46 AM
5/7/2018 7:20:56 AM
5/7/2018 7:20:45 AM
date_add_years
เพิ่มจำนวนปีทั้งหมดและที่เป็นเศษส่วนที่ระบุ ไปยังค่าวันที่และเวลา พารามิเตอร์สามารถเป็นค่าบวกหรือค่าลบ
รหัส
{{ now }}
{{ now | date_add_years: 1 }}
{{ now | date_add_years: -2 }}
เอาท์พุท
5/7/2018 7:20:46 AM
5/7/2019 7:20:46 AM
5/7/2016 7:20:46 AM
date_to_iso8601
จัดรูปแบบค่าวันที่และเวลาตามมาตรฐาน ISO 8601 มีประโยชน์เมื่อมีการสร้าง ตัวดึงข้อมูลอะตอม หรือองค์ประกอบ <เวลา> HTML5
รหัส
{{ now | date_to_iso8601 }}
เอาท์พุท
2018-05-07T07:20:46Z
date_to_rfc822
จัดรูปแบบค่าวันที่และเวลาตามมาตรฐาน RFC 822 มีประโยชน์เมื่อมีการสร้าง ตัวดึงข้อมูล RSS
รหัส
{{ now | date_to_rfc822 }}
เอาท์พุท
Mon, 07 May 2018 07:20:46 Z
ตัวกรอง Escape
ลำดับ Escape เป็นวิธีรวมอักขระพิเศษในสตริงโดยไม่ขัดแย้งกับการตีความอักขระเหล่านั้นตามปกติในภาษาโปรแกรมหรือรูปแบบ
ตัวกรอง Escape ต่อไปนี้จะแทนที่อักขระสตริงด้วยลำดับ Escape หรือลบอักขระสตริงที่ไม่ถูกต้องตามชนิดปลายทาง
Escape
HTML-escapes เป็นสตริง
รหัส
{{ '<p>test</p>' | escape }}
เอาท์พุท
<p>test</p>
html_safe_escape
แปลงสตริง HTML ที่กำหนดให้เป็นส่วนย่อย HTML ที่ปลอดภัย
รหัส
{{ '<img src="images/myimage.jpg" onerror="alert(1);">' | html_safe_escape }}
เอาท์พุท
<img src="images/myimage.jpg">
url_escape
URI-escape สตริง สำหรับการรวมใน URL
รหัส
{{ 'This & that//' | url_escape }}
เอาท์พุท
This+%26+that%2F%2F
xml_escape
XML-escape สตริง สำหรับการรวมในผลลัพธ์ XML
รหัส
{{ '<p>test</p>' | xml_escape }}
เอาท์พุท
<p>test</p>
ตัวกรองรายการ
มีการใช้ตัวกรองรายการในการทำงานกับค่าแอตทริบิวต์ รายการเอนทิตี บางค่า และเพื่อช่วยในการสร้างมุมมองรายการ
current_sort
นิพจน์การเรียงลำดับที่กำหนด ส่งคืนทิศทางการเรียงลำดับปัจจุบันสำหรับแอตทริบิวต์ที่กำหนด
รหัส
{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}
เอาท์พุท
DESC
metafilters
แยกวิเคราะห์ค่า JSON ของ filter_definition ของ entitylist ลงในออบเจ็กต์กลุ่มตัวเลือกตัวกรอง
metafilters สามารถเลือกให้มีแบบสอบถามตัวกรองแอตทริบิวต์ปัจจุบันและ รายการเอนทิตี ปัจจุบันได้ ซึ่งอนุญาตให้ออบเจ็กต์ตัวกรองที่ส่งคืนถูกแฟล็กเป็นถูกเลือก หรือถูกยกเลิกการเลือกได้ อย่างใดอย่างหนึ่ง
รหัส
{% 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
ทิศทางการเรียงลำดับที่กำหนด ส่งคืนทิศทางการเรียงลำดับที่ตรงกันข้าม
รหัส
<!-- Sort direction is not case-sensitive -->
{{ 'ASC' | reverse_sort }}
{{ 'desc' | reverse_sort }}
ผลลัพธ์
DESC
ASC
ตัวกรองเครื่องหมายคณิตศาสตร์
ตัวกรองเครื่องหมายคณิตศาสตร์อนุญาตให้คุณดำเนินการทางคณิตศาสตร์ใน หมายเลข ได้
เนื่องด้วยตัวกรองทั้งหมด ตัวกรองทางคณิตศาสตร์สามารถถูกรวม และถูกใช้ตามลำดับจากซ้ายไปขวา
รหัส
{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}
ผลลัพธ์
5
ceil
ปัดค่าขึ้นให้เป็นจำนวนเต็มที่ใกล้ที่สุด
รหัส
{{ 4.6 | ceil }}
{{ 4.3 | ceil }}
เอาท์พุท
5
5
divided_by
หารตัวเลขด้วยอีกตัวเลขหนึ่ง
รหัส
{{ 10 | divided_by: 2 }}
{{ 10 | divided_by: 3 }}
{{ 10.0 | divided_by: 3 }}
เอาท์พุท
5
3
3.333333
พื้น
ปัดค่าลงไปที่จำนวนเต็มที่ใกล้ที่สุด
รหัส
{{ 4.6 | floor }}
{{ 4.3 | floor }}
ผลลัพธ์
4
4
ลบ
ลบตัวเลขออกจากอีกตัวเลขหนึ่ง
รหัส
<!-- entityview.page = 11 -->
{{ entityview.page | minus: 1 }}
{{ 10 | minus: 1.1 }}
{{ 10.1 | minus: 1 }}
ผลลัพธ์
10
9
9.1
modulo
หารตัวเลขด้วยอีกตัวเลขหนึ่ง และส่งคืนค่าเศษเหลือ
รหัส
{{ 12 | modulo: 5 }}
ผลลัพธ์
2
บวก
เพิ่มตัวเลขไปยังอีกตัวเลขหนึ่ง
รหัส
<!-- entityview.page = 11 -->
{{ entityview.page | plus: 1 }}
{{ 10 | plus: 1.1 }}
{{ 10.1 | plus: 1 }}
ผลลัพธ์
12
11
11.1
กลม
ปัดค่าเป็นจำนวนเต็มที่ใกล้ที่สุดหรือจำนวนทศนิยมที่ระบุ
รหัส
{{ 4.6 | round }}
{{ 4.3 | round }}
{{ 4.5612 | round: 2 }}
ผลลัพธ์
5
4
4.56
คูณ
คูณตัวเลขด้วยอีกตัวเลขหนึ่ง
รหัส
{{ 10 | times: 2 }}
{{ 10 | times: 2.2 }}
{{ 10.1 | times: 2 }}
ผลลัพธ์
20
20
20.2
ตัวกรองสตริง
ตัวกรองสตริงควบคุม สตริง
ผนวก
ผนวกสตริงไปที่ส่วนท้ายของอีกสตริงหนึ่ง
รหัส
{{ 'filename' | append: '.js' }}
เอาท์พุท
filename.js
ทำให้เป็นตัวพิมพ์ใหญ่
ทำให้ทุกคำในสตริงเป็นตัวพิมพ์ใหญ่
รหัส
{{ 'capitalize me' | capitalize }}
เอาท์พุท
Capitalize Me
ตัวพิมพ์เล็ก
แปลงสตริงเป็นตัวพิมพ์เล็ก
รหัส
{{ 'MIxed Case TExt' | downcase }}
เอาท์พุท
mixed case text
newline_to_br
แทรกแท็ก HTML ตัวแบ่งบรรทัด <br /> ที่ตัวแบ่งบรรทัดแต่ละตัวในสตริง
รหัส
{% capture text %}
A
B
C
{% endcapture %}
{{ text | newline_to_br }}
ผลลัพธ์
A<br />
B<br />
C<br />
เพิ่ม
เพิ่มสตริงไปที่ส่วนต้นของอีกสตริงหนึ่ง
รหัส
{{ 'Jane Johnson' | prepend: 'Dr. ' }}
ผลลัพธ์
Dr. Jane Johnson
เอาออก
เอาสตริงย่อยที่เกิดขึ้นทั้งหมดออกจากสตริง
รหัส
{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}
เอาท์พุท
Hello, . How are you, ?
remove_first
เอาสตริงย่อยที่เกิดขึ้นครั้งแรกออกจากสตริง
รหัส
{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}
ผลลัพธ์
Hello, . How are you, Dave?
แทนที่
แทนที่สตริงที่เกิดขึ้นทั้งหมดด้วยสตริงย่อย
รหัส
{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}
เอาท์พุท
Hello, John. How are you, John?
replace_first
แทนที่สตริงที่เกิดขึ้นครั้งแรกด้วยสตริงย่อย
รหัส
{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}
ผลลัพธ์
Hello, John. How are you, Dave?
แบ่ง
ตัวกรอง แยก ใช้สตริงย่อยเป็นพารามิเตอร์ สตริงย่อยถูกใช้เป็นตัวคั่นเพื่อแบ่งสตริงเป็นอาร์เรย์
รหัส
{% 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: ', ' }}
เอาท์พุท
First word: This
First word: This
Second word: is
Last word: filter
All words: This, is, a, demo, of, the, split, filter
strip_html
ถอดแท็ก HTML ทั้งหมดออกจากสตริง
รหัส
<p>Hello</p>
เอาท์พุท
Hello
strip_newlines
ถอดตัวคั่นใดๆออกจากสตริง
รหัส
{% capture text %}
A
B
C
{% endcapture %}
{{ text | strip_newlines }}
เอาท์พุท
ABC
text_to_html
จัดรูปแบบสตริงข้อความธรรมดาเป็น HTML อย่างง่าย ข้อความถูกเข้ารหัส HTML บล็อกของข้อความที่ถูกแยกโดยบรรทัดว่างจะถูกหุ้มในแท็ก <p> ของย่อหน้า ตัวคั่นเดี่ยวถูกแทนที่ด้วย <br> และ URL จะถูกแปลงเป็นการเชื่อมโยงหลายมิติ
รหัส
{{ note.notetext | text_to_html }}
เอาท์พุท
<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>
ตัดให้สั้นลง
ตัดทอนสตริงจนถึงจำนวนอักขระที่ระบุ จุดไข่ปลา (...) จะถูกผนวกเข้ากับสริง และถูกรวมอยู่ในการตรวจนับอักขระ
รหัส
{{ 'This is a long run of text.' | truncate: 10 }}
เอาท์พุท
This is...
truncate_words
ตัดทอนสตริงจนถึงจำนวนคำที่ระบุ จุดไข่ปลา (...) จะถูกผนวกเข้ากับสตริงที่ถูกตัดทอน
รหัส
{{ 'This is a long run of text.' | truncate_words: 3 }}
เอาท์พุท
This is a...
ตัวพิมพ์ใหญ่
แปลงสตริงเป็นตัวพิมพ์ใหญ่
รหัส
{{ 'MIxed Case TExt' | upcase }}
เอาท์พุท
MIXED CASE TEXT
พิมพ์ตัวกรอง
พิมพ์ตัวกรองช่วยให้คุณสามารถแปลงค่าชนิดใดชนิดหนึ่งเป็นชนิดอื่นๆได้
บูลีน
พยายามแปลงค่าสตริงเป็นบูลีน ถ้าค่าเป็นแบบบูลีนอยู่แล้ว มีการส่งคืนโดยไม่ถูกเปลี่ยนแปลง ถ้าไม่สามารถแปลงค่าเป็นแบบบูลีนได้ จะมีการส่งคืนเป็นไม่มีค่า
ตัวกรองนี้จะยังยอมรับ เปิด, เปิดใช้งานแล้ว หรือ ใช่ เป็นจริง และ ปิด, ถูกปิดการใช้งาน และ ไม่ เป็นเท็จ
รหัส
{{ true | boolean }}
{{ 'false' | boolean }}
{{ 'enabled' | boolean }}
{{ settings['something/enabled'] | boolean | default: false }}
ผลลัพธ์
true
false
true
false
เลขทศนิยม
พยายามแปลงค่าสตริงเป็นตัวเลขทศนิยม ถ้าค่าเป็นตัวเลขทศนิยมอยู่แล้ว มีการส่งคืนโดยไม่ถูกเปลี่ยนแปลง ถ้าไม่สามารถแปลงค่าเป็นตัวเลขทศนิยมได้ จะมีการส่งคืนเป็นไม่มีค่า
รหัส
{{ 10.1 | decimal }}
{{ '3.14' | decimal }}
{{ 'text' | decimal | default: 3.14 }}
ผลลัพธ์
10.1
3.14
3.14
จำนวนเต็ม
พยายามแปลงค่าสตริงเป็นจำนวนเต็ม ถ้าค่าเป็นจำนวนเต็มอยู่แล้ว มีการส่งคืนโดยไม่ถูกเปลี่ยนแปลง ถ้าไม่สามารถแปลงค่าเป็นจำนวนเต็มได้ จะมีการส่งคืนเป็นไม่มีค่า
รหัส
{{ 10 | integer }}
{{ '10' | integer }}
{{ '10.1' | integer }}
{{ 'text' | integer | default: 2 }}
เอาท์พุท
10
10
2
สตริง
พยายามแปลงค่าเป็นการแสดงแบบสตริง ถ้าค่าเป็นสตริงอยู่แล้ว มีการส่งคืนโดยไม่ถูกเปลี่ยนแปลง ถ้าค่าคือ null null จะถูกส่งคืน
ตัวกรอง URL
ตัวกรอง URL ช่วยให้คุณสามารถสร้างหรือแยกส่วนของ URL ได้
add_query
ผนวกพารามิเตอร์สตริงแบบสอบถามไปยัง URL ถ้ามีพารามิเตอร์ใน URL อยู่แล้ว ค่าพารามิเตอร์จะถูกอัปเดต
ถ้าตัวกรองนี้ถูกนำไปใช้กับ URL แบบสัมบูรณ์ทั้งหมด URL แบบสัมบูรณ์ที่อัปเดตแล้วจะเป็นผลลัพธ์ ถ้ามีการนำใช้ไปกับพาธ พาธที่อัปเดตจะเป็นผลลัพธ์
รหัส
{{ 'https://example.com/path?page=1' | add_query: 'foo', 'bar' }}
{{ '/path?page=1' | add_query: 'page', 2 }}
เอาท์พุท
https://example.com/path?page=1&foo=bar
/path?page=2
พื้นฐาน
ได้รับ URL พื้นฐานของ URL ที่ระบุ
รหัส
{{ 'https://example.com/path?foo=bar&page=2' | base }}
ผลลัพธ์
https://example.com
โฮสต์
ได้รับส่วนโฮสต์ของ URL
รหัส
{{ 'https://example.com/path?foo=bar&page=2' | host }}
เอาท์พุท
example.com
พาธ
ได้รับส่วนเส้นทางของ URL
รหัส
{{ 'https://example.com/path?foo=bar&page=2' | path }}
{{ '/path?foo=bar&page=2' | path }}
เอาท์พุท
/path
/path
path_and_query
ได้รับส่วนเส้นทางและการสอบถามของ URL
รหัส
{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}
{{ '/path?foo=bar&page=2' | path_and_query }}
เอาท์พุท
/path?foo=bar&page=2
/path?foo=bar&page=2
พอร์ต
ได้รับหมายเลขพอร์ตของ URL
รหัส
{{ '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 }}
เอาท์พุท
80
443
9000
remove_query
ลบพารามิเตอร์สตริงแบบสอบถามออกจาก URL ถ้าไม่มีพารามิเตอร์อยู่ใน URL จะมีการส่งคืน URL โดยไม่เปลี่ยนแปลง
ถ้าตัวกรองนี้ถูกนำไปใช้กับ URL แบบสัมบูรณ์ทั้งหมด URL แบบสัมบูรณ์ที่อัปเดตแล้วจะเป็นผลลัพธ์ ถ้ามีการนำใช้ไปกับพาธ พาธที่อัปเดตจะเป็นผลลัพธ์
รหัส
{{ 'https://example.com/path?page=1' | remove_query: 'page' }}
{{ '/path?page=1' | remove_query: 'page' }}
เอาท์พุท
https://example.com/path
/path
แบบแผน
ได้รับส่วนแบบแผนของ URL
รหัส
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
ผลลัพธ์
http
https
ตัวกรองเพิ่มเติม
ตัวกรองเหล่านี้ให้ฟังก์ชันทั่วไปที่มีประโยชน์
ค่าเริ่มต้น
ส่งคืนค่าเริ่มต้นสำหรับตัวแปรใดๆ ที่ไม่มีค่าที่กำหนดไว้ (ซึ่งคือ ไม่มีค่า)
รหัส
{{ snippets[Header] | default: 'My Website' }}
เอาท์พุท
<!-- If a snippet with the name Header returns null -->
My Website
file_size
เมื่อมีการนำไปใช้กับค่าตัวเลขที่แสดงถึงไบต์จำนวนมาก จะส่งคืนขนาดไฟล์ที่มีการจัดรูปแบบด้วยหน่วยของมาตราส่วนที่เหมาะสม
อีกทางหนึ่งคือ พารามิเตอร์ที่มีความแม่นยำสามารถถูกส่งผ่านได้ เพื่อควบคุมจำนวนตำแหน่งทศนิยมในผลลัพธ์ ความแม่นยำค่าเริ่มต้นคือ 1
รหัส
{{ 10000000 | file_size }}
{{ 2050 | file_size: 0 }}
{{ entity.notes.first.filesize | file_size: 2 }}
เอาท์พุท
9.5 MB
2 KB
207.14 KB
h
ระบุการแสดง HTML ของแอตทริบิวต์ ตัวอย่างเช่น การแสดงผลการแสดง HTML ของ แอตทริบิวต์ XML ของการสอบถาม FetchXML
รหัส
{{ samplequery.xml | h }}
เอาท์พุท
<fetch mapping="logical" count="5000" page="1" returntotalrecordcount="true"> <entity name="contact"> <attribute name="fullname" /> </entity> </fetch>
has_role
เมื่อมีการนำไปใช้กับ ผู้ใช้ ให้ส่งคืน true ถ้าผู้ใช้เป็นของบทบาทที่กำหนดไว้ ส่งคืน false ถ้าไม่
รหัส
{% assign is_admin = user | has_role: 'Administrators' %}
{% if is_admin %}
User is an administrator.
{% endif %}
ไม่ตายตัว
แสดงสตริงเป็นรหัสแบบไม่ตายตัว โค้ดนี้จะมีการเข้าถึงบริบทของการดำเนินการ Liquid (ตัวแปร ฯลฯ)
หมายเหตุ
ตัวกรองนี้ควรถูกใช้ด้วยความระมัดระวัง และโดยทั่วไปแล้ว ควรจะถูกใช้กับค่าที่อยู่ภายใต้การควบคุมแบบเอกสิทธิ์เฉพาะของผู้เขียนเนื้อหาไซต์ หรือผู้ใช้อื่นที่สามารถเชื่อถือได้ในการเขียนรหัสแบบไม่ตายตัว
รหัส
{{ page.adx_copy | liquid }}