Bộ lọc - filters
Bộ lọc liquid được sử dụng để chỉnh sửa đầu ra của liquid
Cách sử dụng
Để sử dụng bộ lọc, thêm bộ lọc và cái tham số tương ứng đặt trong cú pháp {{ }}
và được phân cách bởi dấu |
. Trong ví dụ dưới đây, product
là một đối tượng, name
là một thuộc tính, và upcase
là bộ lọc được áp dụng.
Ví dụ:
{{ product.name | upcase }}
Output:
ADIDAS NEO
Bộ lọc với tham số
Nhiều bộ lọc sử dụng tham số. Một số bộ lọc tham số là bắt buộc, một số thì là tùy chọn
Ví dụ:
{{ product.name | remove: "Neo" }}
Output:
Adidas
Sử dụng nhiều bộ lọc kết hợp
Nhiều bộ lọc có thể sử dụng trên một đầu ra. Chúng được áp dụng từ trái qua phải
Ví dụ:
{{ product.name | upcase | remove: "NEO" }}
Output:
ADIDAS
Bộ lọc mảng
Bộ lọc mảng chỉnh sửa đầu ra của mảng
compact
array | compact
Xóa phần tử nil
khỏi mảng.
Ví dụ:
{%- assign original_prices = collection.products | map: 'compare_at_price' -%}
Original prices:
{% for price in original_prices -%}
- {{ price }}
{%- endfor %}
{%- assign compacted_original_prices = original_prices | compact -%}
Original prices - compacted:
{% for price in compacted_original_prices -%}
- {{ price }}
{%- endfor %}
Output:
Original prices:
-
-
- 100000059
-
- 1000
-
- 2500
- 40000
-
-
Original prices - compacted:
- 100000059
- 1000
- 2500
- 40000
concat
array | concat: array
Kết hợp 2 mảng
Ví dụ:
{%- assign types_and_vendors = collection.all_types | concat: collection.all_vendors -%}
Types and vendors:
{% for item in types_and_vendors -%}
{%- if item != blank -%}
- {{ item }}
{%- endif -%}
{%- endfor %}
Output:
Types and vendors:
- balo
- giay dep
- adidas
- nike
first
array | first
Trả về phần tử đầu tiên của mảng
Ví dụ:
{%- assign first_product = collection.products | first -%}
{{ first_product.name }}
Output:
Adias Neo
join
array | join
Kết hợp các phần tử của mảng thành chuỗi, phân cách bởi dấu cách
Ví dụ:
{{ collection.all_tags | join }}
Output:
Adidas Nike Converse Classic
Tham số phân cách
array | join: string
Bạn có thể truyền tham số phân cách khi kết hợp các phần tử
Ví dụ:
{{ collection.all_tags | join: ', ' }}
Output:
Adidas, Nike, Converse, Classic
last
array | last
Trả về phần tử cuối cùng của mảng
Ví dụ:
{%- assign last_product = collection.products | last -%}
{{ last_product.name }}
Output:
Classic
map
array | map: string
Tạo một mảng các giá trị lấy từ thuộc tính được chỉ định của phần tử trong mảng
Ví dụ:
{%- assign product_names = collection.products | map: 'name' -%}
{{ product_names | join: ', ' }}
Output:
Adidas, Nike, Converse, Classic
reverse
array | reverse
Đảo ngược thứ tự phần tử trong mảng
Ví dụ:
Original order:
{{ collection.products | map: 'name' | join: ', ' }}
Reverse order:
{{ collection.products | reverse | map: 'name' | join: ', ' }}
Output:
Original order:
Adidas, Nike, Converse, Classic
Reverse order:
Classic, Converse, Nike, Adidas
Đảo ngược chuỗi
Bạn không thể sử dụng bộ lọc reverse
trực tiếp trên chuỗi. Tuy nhiên, bạn có thể sử dụng bộ lọc split để tạo mảng từ chuỗi, sau đó đảo ngược mảng và kết hợp lại bằng bộ lọc join
Ví dụ:
{{ product.name | split: '' | reverse | join: '' }}
Output:
sadidA
size
variable | size
Trả về kích thước của mảng hoặc chuỗi
Kích thước của chuỗi là số kí tự trong chuỗi. Kích thước của mảng là số phần tử trong mảng
Ví dụ:
{{ collection.name | size }}
{{ collection.products | size }}
Output:
12
4
Truy cập bằng cú pháp array.size
Bạn có thể sử dụng bộ lọc size
thông qua cú pháp array.size
Ví dụ:
{% if collection.products.size >= 10 %}
There are 10 or more products in this collection.
{% else %}
There are less than 10 products in this collection.
{% endif %}
Output:
There are less than 10 products in this collection.
sort
array | sort
Sắp xếp các phần tử trong mảng theo thứ tự bảng chữ cái (phân biệt hoa thường) hoặc sắp xếp số
Ví dụ:
{% assign tags = collection.all_tags | sort %}
{% for tag in tags -%}
{{ tag }}
{%- endfor %}
Output:
Burning
Salty
dried
extra-potent
extracts
fresh
healing
ingredients
music
plant
supplies
Sắp xếp mảng theo thuộc tính của phần tử
array | sort: string
Bạn có thể chỉ định thuộc tính của phần tử khi sắp xếp mảng
Ví dụ:
{% assign products = collection.products | sort: 'price' %}
{% for product in products -%}
{{ product.name }}
{%- endfor %}
Output:
Adidas
New blance
Nike
sort_natural
array | sort_natural
Sắp xếp các phần tử trong mảng theo thứ tự bảng chữ cái (không phân biệt hoa thường)
Bạn không nên sử dự bộ lọc sort_natural
để sắp xếp số. Khi so sánh các phần tử trong mảng, mỗi phần tử sẽ được chuyển thành chuỗi, vì thế kết quả có thể sẽ không như mong muốn
Ví dụ:
{% assign tags = collection.all_tags | sort_natural %}
{% for tag in tags -%}
{{ tag }}
{%- endfor %}
Output:
Burning
dried
extra-potent
extracts
fresh
healing
ingredients
music
plant
Salty
supplies
Sắp xếp mảng theo thuộc tính của phần tử
array | sort: sort_natural
Bạn có thể chỉ định thuộc tính của phần tử khi sắp xếp mảng
Ví dụ:
{% assign products = collection.products | sort_natural: 'name' %}
{% for product in products -%}
{{ product.name }}
{%- endfor %}
Output:
Adidas
New blance
Nike
uniq
array | uniq
Xóa các phần tử trùng nhau trong mảng
Ví dụ:
{% assign potion_array = 'invisibility, health, love, health, invisibility' | split: ', ' %}
{{ potion_array | uniq | join: ', ' }}
Output:
invisibility, health, love
where
array | where: string, string
Lọc ra các phần tử có tên thuộc tính và giá trị thuộc tính được chỉ định
Bạn cần cung cấp tên và giá trị thuộc tính
Ví dụ:
{% assign adidas_products = collection.products | where: 'vendor', "Adidas" %}
Adidas' Products:
{% for product in adidas_products -%}
- {{ product.name }}
{%- endfor %}
Output:
Adidas' Products:
- Neo
- Superstar
- Ultraboost
Lọc thuộc tính boolean giá trị true
Lọc ra các phần tử có thuộc tính loại boolean và giá trị là true
. Bạn chỉ cần cung cấp tên thuộc tính
Ví dụ:
{% assign available_products = collection.products | where: 'available' %}
Available products:
{% for product in available_products -%}
- {{ product.name }}
{%- endfor %}
Output:
Available products:
- Neo
- Ultraboost
Bộ lọc danh mục
Bộ lọc danh mục chỉnh sửa đầu ra của đối tượng collection và thuộc tính của nó
link_to_type
string | link_to_type
Tạo thẻ HTML <a>
có thuộc tính href
liên kết tới trang danh mục liệt kê tất cả sản phẩm theo loại sản phẩm được chỉ định
Ví dụ:
{{ "giầy nam" | link_to_type }}
Output:
<a href="/collections/types?query=gi%E1%BA%A7y%20nam" title="giầy nam">giầy nam</a>
link_to_vendor
string | link_to_vendor
Tạo thẻ HTML <a>
có thuộc tính href
liên kết tới trang danh mục liệt kê tất cả sản phẩm theo nhà cung cấp được chỉ định
Ví dụ:
{{ "Adidas" | link_to_vendor }}
Output:
<a href="/collections/vendors?query=Adidas" title="Adidas">Adidas</a>
sort_by
string | sort_by: string
Tạo link danh mục với tham số sortBy
được chỉ định. Bộ lọc này chỉ nên áp dụng với đường dẫn của danh mục.
Các giá trị sắp xếp có thể
- manual
- alpha-asc
- alpha-desc
- created-asc
- created-desc
- published-asc
- published-desc
- modified-asc
- modified-desc
- price-asc
- price-desc
Ví dụ:
{{ collection.url | sort_by: 'price-asc' }}
Output:
/san-pham-mua-dong?sortBy=price-asc
url_for_type
string | url_for_type
Tạo link danh mục liệt kê tất cả các sản phẩm theo loại sản phẩm được chỉ định
Ví dụ:
{{ "T-shirt" | url_for_type }}
Output:
/collections/types?query=T-shirt
url_for_vendor
string | url_for_vendor
Tạo link danh mục liệt kê tất cả các sản phẩm theo nhà cung cấp được chỉ định
Ví dụ:
{{ "Adidas" | url_for_vendor }}
Output:
/collections/vendors?query=Adidas
within
string | within: collection
Tạo link sản phẩm với ngữ cảnh của danh mục sản phẩm được chỉ định
Ví dụ:
{{ product.url | within: collection }}
Output:
/collections/adidas/products/adidas-neo
Bộ lọc khách hàng
Bộ lọc khách hàng tạo link cho phép khách hàng tương tác với tài khoản tương ứng trên website
customer_login_link
string | customer_login_link
Tạo thẻ HTML <a>
liên kết tới trang đăng nhập tài khoản của khách hàng
Ví dụ:
{{ 'Đăng nhập' | customer_login_link }}
Output:
<a href="/account/login" id="customer_login_link">Đăng nhập</a>
customer_logout_link
string | customer_logout_link
Tạo thẻ HTML <a>
để đăng xuất tài khoản của khách hàng và điều hướng tới trang chủ
Ví dụ:
{{ 'Đăng xuất' | customer_logout_link }}
Output:
<a href="/account/logout" id="customer_logout_link">Đăng xuất</a>
customer_register_link
string | customer_register_link
Tạo thẻ HTML <a>
liên kết tới trang đăng ký tài khoản
Ví dụ:
{{ 'Đăng ký' | customer_register_link }}
Output:
<a href="/account/register" id="customer_register_link">Đăng ký</a>
Bộ lọc mặc định
Bộ lọc mặc định cho phép tạo hoặc sử dụng giá trị mặc định trong một số trường hợp
default
variable | default: variable
Đặt giá trị mặc định cho biến bất kỳ khi giá trị của nó là một trong các loại sau:
Ví dụ:
{{ product.selected_variant.url | default: product.url }}
Output:
/t-shirt
allow_false
variable | default: variable, boolean
Mặc định, bộ lọc default
sẽ trả về giá trị mặc định được chỉ định khi đầu vào là false
. Bạn có thể sử dụng tham số thứ 2 allow_false
để cho phép trả về false
thay vì giá trị mặc định
Ví dụ:
{%- assign display_price = false -%}
{{ display_price | default: true, true }}
Output:
false
default_errors
variable | default_errors
Tạo ra các mẫu lỗi mặc định cho đối tượng form.errors
default_pagination
paginate | default_pagination
Tạo ra các thẻ HTML mặc định biểu diễn kết quả phân trang. Bộ lọc này phải được áp dụng với đối tượng paginate
Ví dụ:
{% paginate collection.products by 2 %}
{% for product in collection.products %}
{{- product.name }}
{% endfor %}
{{- paginate | default_pagination -}}
{% endpaginate %}
Output:
adidas
nike
<span class="page current">1</span><span class="page"><a href="/giay?page=2">2</a></span><span class="next"><a href="/giay?page=2">»</a></span>
Bộ lọc định dạng
Bộ lọc định dạng cho phép áp dụng những định dạng đặc biệt lên các kiểu dữ liệu
date
string | date: string
Biến đổi timestamp sang định dạng ngày tháng khác.
Khi định dạng có chứa dấu %
bộ lọc date
nhận tham số định dạng giống hàm strftime
của Ruby
Nếu không bộ lọc sử dụng tham số định dạng như trong c#
Ví dụ:
{{ article.created_on | date: '%B %d, %Y' }}
{{ article.created_on | date: 'dd-MM-yyyy' }}
Output:
April 14, 2022
14-04-2022
Thời gian hiện tại
Bạn có thể sử dụng từ khóa 'now'
và 'today'
với bộ lọc date
để hiển thị thời gian hiện tại
Thời gian hiện tại này chỉ phản ánh thời gian lần cuối Liquid được xử lý. Do đó thời gian sẽ không được cập nhật khi refresh lại trang vì phụ thuộc vào ngữ cảnh và cache của trang
Ví dụ:
{{ 'now' | date: '%B %d, %Y' }}
Output:
November 09, 2022
json
variable | json
Chuyển chuỗi, đối tượng sang định dạng JSON
Bộ lọc chỉ hỗ trợ một số đối tượng. Với đối tượng không hỗ trợ, một dòng lỗi sẽ được hiển thị
Khi sử dụng trong ngữ cảnh JavaScript, bạn không cần phải đặt nó trong dấu nháy vì bộ lọc json
sẽ tự động đặt và nó cũng tự động escape dấu nháy
Ví dụ:
{{ product.tags | json }}
Output:
["foo", "bar"]
weight_with_unit
number | weight_with_unit
Hiển thị định dạng khối lượng cho đối tượng variant với đơn vị được cấu hình trong trang admin của site
Ví dụ:
{%- assign variant = product.variants.first -%}
{{ variant.weight | weight_with_unit }}
Output:
0.2 kg
Thay đổi đơn vị
number | weight_with_unit: variable
Bạn có thể chỉ định đơn vị thay vì sử dụng đơn vị mặc định từ cấu hình
Ví dụ:
{%- assign variant = product.variants.first -%}
{{ variant.weight | weight_with_unit: variant.weight_unit }}
Output:
200 g
Bộ lọc HTML
highlight
string | highlight: string
Đóng gói chuỗi được chỉ định bằng thẻ HTML <strong>
có thuộc tính class
là highlight
, ở trong một chuỗi đã cho
Ví dụ:
{{ product.content | highlight: search.terms }}
Output:
This is a <strong class="highlight">love</strong> potion.
link_to
string | link_to: string
Sinh ra thẻ HTML <a>
Ví dụ:
{{ 'Sapo' | link_to: 'https://sapo.vn' }}
Output:
<a href="https://sapo.vn" title="">Sapo</a>
script_tag
string | script_tag
Sinh ra thẻ HTML <script>
có thuộc tính type
là text/javascript
cho link tương ứng
Ví dụ:
{{ 'addons.js' | asset_url | script_tag }}
Output:
<script src="//bizweb.dktcdn.net/105/299/218/themes/518444/assets/addons.js?1668529998738" type="text/javascript"></script>
stylesheet_tag
string | stylesheet_tag
Sinh ra thẻ HTML <link>
cho link tương ứng. Thẻ HTML sinh ra có thuộc tính như sau:
Thuộc tính | Giá trị |
---|---|
rel | stylesheet |
type | text/css |
media | all |
Ví dụ:
{{ 'style.css' | asset_url | stylesheet_tag }}
Output:
<link href="//bizweb.dktcdn.net/105/299/218/themes/518444/assets/style.css?1668530061708" rel="stylesheet" type="text/css" media="all" />
Bộ lọc file
asset_url
string | asset_url
Trả về link CDN cho file nằm trong thư mục assets của giao diện
Ví dụ:
{{ 'style.css' | asset_url }}
Output:
//bizweb.dktcdn.net/105/299/218/themes/518444/assets/style.css?1668530189807
file_url
string | file_url
Trả về link CDN cho file được upload trên trang admin của site
Ví dụ:
{{ 'size-chart.pdf' | file_url }}
Output:
//bizweb.dktcdn.net/105/299/218/files/size-chart.pdf?1668530252913
media_url
string | media_url
Trả về link CDN cho tài nguyên global
Tài nguyên global được lưu trữ trên server của Sapo do đó truy cập có thể sẽ nhanh hơn thông thường
Ví dụ:
{{ 'jquery.js' | media_url }}
Output:
//bizweb.dktcdn.net/jquery.js?1668530388657
bizweb_asset_url
string | bizweb_asset_url
Trả về link CDN cho tài nguyên được publish của Sapo
Dưới đây là tài nguyên được publish:
- api.jquery.js
- bizweb_common.js
Ví dụ:
{{ 'api.jquery.js' | bizweb_asset_url }}
Output:
//bizweb.dktcdn.net/assets/themes_support/api.jquery.js
Bộ lọc toán học
Bộ lọc toán học cho phép thực hiện các phép tính toán trong liquid.
Giống với nhiều bộ lọc khác, bạn có thể áp dụng nhiều bộ lọc toán học đồng thời. Chúng được áp dụng từ trái qua phải. Trong ví dụ dưới đây bộ lọc minus
được áp dụng trước, rồi đến times
và cuối cùng là divided_by
You save {{ product.compare_at_price | minus: product.price | times: 100.0 | divided_by: product.compare_at_price }}%
abs
number | abs
Trả về giá trị tuyệt đối của số
Ví dụ:
{{ -3 | abs }}
Output:
3
at_least
number | at_least
Giới hạn số tới giá trị nhỏ nhất
Ví dụ:
{{ 4 | at_least: 5 }}
{{ 4 | at_least: 3 }}
Output:
5
4
at_most
number | at_most
Giới hạn số tới giá trị lớn nhất
Ví dụ:
{{ 6 | at_most: 5 }}
{{ 4 | at_most: 5 }}
Output:
5
4
ceil
number | ceil
Làm tròn số tới giá trị trên gần nhất
Ví dụ:
{{ 1.2 | ceil }}
Output:
2
divided_by
number | divided_by: number
Chia số bởi số khác
Ví dụ:
{{ 4 | divided_by: 2 }}
Output:
2
floor
number | floor
Làm tròn số tới giá trị dưới gần nhất
Ví dụ:
{{ 1.2 | ceil }}
Output:
1
minus
number | minus: number
Trừ số bởi số đã cho
Ví dụ:
{{ 4 | minus: 2 }}
Output:
2
modulo
number | modulo: number
Lấy phần dư sau khi chia số bởi số đã cho
Ví dụ:
{{ 12 | modulo: 5 }}
Output:
2
plus
number | plus: number
Lấy tổng 2 số
Ví dụ:
{{ 2 | plus: 2 }}
Output:
4
round
number | round
Làm tròn số tới số gần nhất
Ví dụ:
{{ 2.7 | round }}
{{ 1.3 | round }}
Output:
3
1
Làm tròn tới số chữ số phần thập phân
Bạn có thể chỉ định số chữ số phần thập phân muốn làm tròn tới. Nếu không được chỉ định bộ lọc round
sẽ làm tròn tới số nguyên gần nhất
Ví dụ:
{{ 3.14159 | round: 2 }}
Output:
3.14
times
number | times: number
Nhân 2 số với nhau
Ví dụ:
{{ 2 | times: 2 }}
Output:
4
Bộ lọc Media
Bộ lọc Media cho phép bạn hiển thị tài nguyên media của một số đối tượng như product, collection
img_tag
variable | img_tag
Tạo thẻ HTML <img>
cho link ảnh
Bạn cũng có thể áp dụng bộ lọc img_tag
lên các đối tượng sau:
Ví dụ:
{{ product | img_tag }}
Output:
<img src="//bizweb.dktcdn.net/100/027/489/products/nike.png?v=1668531440637" alt="nike" />
Tham số tùy chọn
variable | img_tag: string, string, string
Bộ lọc img_tag
có thể nhận 3 tham số cách nhau bởi dấu phẩy lần lượt dùng để đặt các thuộc tính alt
, class
và size
. Bởi vì tham số được đọc theo thứ tự lần lượt, bạn phải đặt giá trị cho từng tham số hoặc đặt chuỗi rỗng nếu muốn bỏ qua
Ví dụ:
{{ product | img_tag: 'Sapo', 'logo new-version' }}
Output:
<img src="//bizweb.dktcdn.net/100/027/489/products/nike.png?v=1668531440637" alt="Sapo" class="logo new-version" />
img_url
variable | img_url
Trả về link CDN cho ảnh
Bạn cũng có thể áp dụng bộ lọc img_url
lên các đối tượng sau:
Ví dụ:
{{ product | img_url }}
Output:
//bizweb.dktcdn.net/100/027/489/products/nike.png?v=1668531440637
size
variable | img_url: string
Tham số size cho phép bạn đặt kích thước của ảnh. Các giá trị có thể sau:
- thumb
- small
- large
- grande
- original
Ví dụ:
{{ product | img_url: 'grande' }}
Output:
//bizweb.dktcdn.net/thumb/grande/100/027/489/products/nike.png?v=1668531440637
Bộ lọc Money
Bộ lọc Money hiển thị định dạng giá tiền dựa trên định dạng tiền tệ được cấu hình trong trang admin của site
money
number | money
Hiển thị giá tiền dựa vào cấu hình money_format
của site
Ví dụ:
{{ product.price | money }}
Output:
150.000đ
money_with_currency
number | money_with_currency
Hiển thị giá tiền dựa vào cấu hình money_with_currency
trong admin của site
Ví dụ:
{{ product.price | money_with_currency }}
Output:
150.000 VND
money_without_currency
number | money_without_currency
Hiển thị giá tiền dựa vào cấu hình money_without_currency
trong admin của site
Ví dụ:
{{ product.price | money_without_currency }}
Output:
150.000
Bộ lọc chuỗi
Bộ lọc chuỗi cho phép thay đổi chuỗi
append
string | append: string
Thêm chuỗi đã cho vào cuối chuỗi
Ví dụ:
{{ 'logo' | append: '.jpg' }}
Output:
logo.jpg
base64_decode
string | base64_decode
Giải mã chuỗi đang ở định dạng Base64
Ví dụ:
{{ 'b25lIHR3byB0aHJlZQ==' | base64_decode }}
Output:
one two three
base64_encode
string | base64_encode
Mã hóa chuỗi sang định dạng Base64
Ví dụ:
{{ 'one two three' | base64_encode }}
Output:
b25lIHR3byB0aHJlZQ==
base64_url_safe_decode
string | base64_url_safe_decode
Giải mã chuỗi đang ở URL-safe định dạng Base64
Ví dụ:
{{ 'b25lIHR3byB0aHJlZQ==' | base64_url_safe_decode }}
Output:
one two three
base64_url_safe_encode
string | base64_url_safe_encode
Mã hóa chuỗi sang URL-safe định dạng Base64
Ví dụ:
{{ 'one two three' | base64_url_safe_encode }}
Output:
b25lIHR3byB0aHJlZQ==
camelize
string | camelize
Thay đổi chuỗi sang dạng CamelCase
Bộ lọc camelize
còn có thể dùng với tên khác là camelcase
Ví dụ:
{{ 'giam-gia' | camelcase }}
Output:
GiamGia
capitalize
string | capitalize
Viết hoa từ đầu tiên trong chuỗi
Ví dụ:
{{ 'giảm giá đặc biệt sản phẩm giày nam' | capitalize }}
Output:
Giảm giá đặc biệt sản phẩm giày nam
downcase
string | downcase
Định dạng tất cả các chữ cái trong chuỗi về chữ thường.
Ví dụ:
{{ 'GIẢM GIÁ ĐẶC BIỆT' | downcase }}
Output:
giảm giá đặc biệt
escape
string | escape
Biến đổi kí tự đặc biệt trong HTML như <>
, '
và &
sang chuỗi tương ứng. Với kí tự còn lại sẽ không bị ảnh hưởng
Ví dụ:
{{ '<p>Text to be escaped.</p>' | escape }}
Output:
<p>Text to be escaped.</p>
escape_once
string | escape_once
Biến đổi kí tự mà không thay đổi các kí tự đã bị biến đổi
Ví dụ:
{%- assign escaped_text = '<p>Text to be escaped.</p>' | escape -%}
{{ escaped_text }}
{{ escaped_text | escape_once }}
Output:
<p>Text to be escaped.</p>
<p>Text to be escaped.</p>
handleize/handle
string | handleize
Biến đổi chuỗi sang dạng alias
Bộ lọc handleize
còn có tên khác là handle
Ví dụ:
{{ '100% M & Ms!!!' | handleize }}
Output:
100-m-ms
hmac_sha1
string | hmac_sha1: string
Biến đổi chuỗi dùng HMAC với hàm băm SHA-1
Mã bí mật của phương thức được truyền dạng tham số của bộ lọc
Ví dụ:
{%- assign secret_potion = 'Polyjuice' | hmac_sha1: 'Polina' -%}
My secret potion: {{ secret_potion }}
Output:
My secret potion: 63304203b005ea4bc80546f1c6fdfe252d2062b2
hmac_sha256
string | hmac_sha256: string
Biến đổi chuỗi dùng HMAC với hàm băm SHA-256
Mã bí mật của phương thức được truyền dạng tham số của bộ lọc
Ví dụ:
{%- assign secret_potion = 'Polyjuice' | hmac_sha256: 'Polina' -%}
My secret potion: {{ secret_potion }}
Output:
My secret potion: 8e0d5d65cff1242a4af66c8f4a32854fd5fb80edcc8aabe9b302b29c7c71dc20
lstrip
string | lstrip
Xóa kí tự khoảng trắng bên trái của chuỗi
Ví dụ:
{%- assign text = ' Some potions create whitespace. ' -%}
"{{ text }}"
"{{ text | lstrip }}"
Output:
" Some potions create whitespace. "
"Some potions create whitespace. "
md5
string | md5
Biến đổi chuỗi dùng hàm băm MD5
Ví dụ:
{{ '' | md5 }}
Output:
d41d8cd98f00b204e9800998ecf8427e
newline_to_br
string | newline_to_br
Biến đổi kí tự xuống dòng (\n
) trong chuỗi sang dạng xuống dòng trong HTML (<br>
)
Ví dụ:
{% capture var %}
One
Two
Three
{% endcapture %}
{{ var | newline_to_br }}
Output:
One <br>
Two<br>
Three<br>
pluralize
number | pluralize: string, string
Lựa chọn đầu ra theo số ít hay số nhiều dựa vào giá trị của số
Ví dụ:
{{ cart.item_count }} {{ cart.item_count | pluralize: 'item', 'items' }}
Output:
3 items
prepend
string | prepend: string
Thêm chuỗi đã cho vào đầu chuỗi
Ví dụ:
{{ 'giảm giá' | prepend: 'Sản phẩm đang được ' }}
Output:
Sản phẩm đang được giảm giá
remove
string | remove: string
Xóa tất cả chuỗi con có trong chuỗi
Ví dụ:
{{ "Hello, world. Goodbye, world." | remove: "world" }}
Output:
Hello, . Goodbye, .
remove_first
string | remove_first: string
Xóa chuỗi con đầu tiên có trong chuỗi
Ví dụ:
{{ "Hello, world. Goodbye, world." | remove_first: "world" }}
Output:
Hello, . Goodbye, world.
remove_last
string | remove_last: string
Xóa chuỗi con cuối cùng có trong chuỗi
Ví dụ:
{{ "Hello, world. Goodbye, world." | remove_last: "world" }}
Output:
Hello, world. Goodbye, .
replace
string | replace: string, string
Thay thế tất cả chuỗi con có trong chuỗi bằng chuỗi khác
Ví dụ:
{{ "Hello, world. Goodbye, world." | replace: "world", "liquid" }}
Output:
Hello, liquid. Goodbye, liquid.
replace_first
string | replace_first: string, string
Thay thế chuỗi con đầu tiên có trong chuỗi bằng chuỗi khác
Ví dụ:
{{ "Hello, world. Goodbye, world." | replace_first: "world", "liquid" }}
Output:
Hello, liquid. Goodbye, world.
replace_last
string | replace_last: string, string
Thay thế chuỗi con cuối cùng có trong chuỗi bằng chuỗi khác
Ví dụ:
{{ "Hello, world. Goodbye, world." | replace_last: "world", "liquid" }}
Output:
Hello, world. Goodbye, liquid.
rstrip
string | rstrip
Xóa kí tự khoảng trắng bên phải của chuỗi
Ví dụ:
{%- assign text = ' Some potions create whitespace. ' -%}
"{{ text }}"
"{{ text | rstrip }}"
Output:
" Some potions create whitespace. "
" Some potions create whitespace."
sha1
string | sha1
Biến đổi chuỗi dùng hàm băm SHA-1
Ví dụ:
{{ '' | sha1 }}
Output:
da39a3ee5e6b4b0d3255bfef95601890afd80709
sha256
string | sha256
Biến đổi chuỗi dùng hàm băm SHA-256
Ví dụ:
{{ '' | sha256 }}
Output:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
slice
variable | slice: number, number
Trả về chuỗi con hoặc mảng con được bắt đầu bởi tham số đã cho (0-based index)
Mặc định chuỗi trả về có 1 kí tự và mảng trả về có 1 phần tử. Tuy nhiên, bạn có thể dùng tham số thứ 2 để chỉ định độ dài chuỗi hoặc mảng con trả về
Ví dụ:
{{ '123456' | slice: 0 }}
{{ '123456' | slice: 0, 5 }}
{{ '1,2,3,4,5,6' | split: ',' | slice: 1, 2 | join: ',' }}
Output:
1
12345
2,3
Chỉ số âm
Bạn có thể dùng chỉ số âm để đếm từ cuối lên
Ví dụ:
{{ '123456' | slice: -3, 3 }}
Output:
456
split
string | split: string
Chia chuỗi thành mảng chuỗi dựa vào dấu ngăn cách được chỉ định
Ví dụ:
{%- assign items = 'one,two,three' | split: ',' -%}
{% for item in items -%}
{{ item }}
{%- endfor %}
Output:
one
two
three
strip
string | strip
Xóa kí tự khoảng trắng bên trái và phải của chuỗi
Ví dụ:
{%- assign text = ' Some potions create whitespace. ' -%}
"{{ text }}"
"{{ text | strip }}"
Output:
" Some potions create whitespace. "
"Some potions create whitespace."
strip_html
string | strip_html
Xóa tất cả thẻ HTML trong chuỗi
Ví dụ:
{{ "Xin chào, <b>Nguyễn Văn A</b> " | strip_html }}
Output:
Xin chào, Nguyễn Văn A
strip_newlines
string | strip_newlines
Xóa tất cả các kí tự xuống dòng trong chuỗi
Ví dụ:
{% capture string_with_newlines %}
one
two
{% endcapture %}
{{ string_with_newlines | strip_newlines }}
Output:
onetwo
truncate
string | truncate: number
Cắt chuỗi tới độ dài được chỉ định
Nếu độ dài chỉ định nhỏ hơn độ dài chuỗi, chuỗi ngắt ...
sẽ được thêm vào sau chuỗi đã cắt. Chuỗi ngắt này cũng được tính vào độ dài chỉ dịnh
Ví dụ:
{{ "Giảm giá sản phẩm chào hè 2015" | truncate: 10 }}
Output:
Giảm gi...
Thay đổi chuỗi ngắt
string | truncate: number, string
Bạn có thể dùng tham số thứ 2 để thay đổi chuỗi ngắt
Ví dụ:
{{ "Giảm giá sản phẩm chào hè 2015" | truncate: 10, '---' }}
Output:
Giảm gi---
truncatewords
string | truncatewords: number
Cắt chuỗi tới số từ được chỉ định
Nếu số từ chỉ định nhỏ hơn số từ của chuỗi, chuỗi ngắt ...
sẽ được thêm vào sau chuỗi đã cắt.
Bộ lọc truncatewords
còn có thể dùng với tên khác là truncate_words
Ví dụ:
{{ "one two three" | truncatewords: 4 }}
{{ "one two three" | truncatewords: 2 }}
Output:
one two three
one two...
Thay đổi chuỗi ngắt
string | truncatewords: number, string
Bạn có thể dùng tham số thứ 2 để thay đổi chuỗi ngắt
Ví dụ:
{{ "one two three" | truncatewords: 2, '---' }}
Output:
one two---
upcase
string | upcase
Định dạng tất cả các chữ cái trong chuỗi về chữ hoa.
Ví dụ:
{{ 'giảm giá đặc biệt' | upcase }}
Output:
GIẢM GIÁ ĐẶC BIỆT
url_decode
string | url_decode
Giải mã các kí tự percent-encoded trong chuỗi
Ví dụ:
{{ 'test%40test.com' | url_decode }}
Output:
test@test.com
url_encode
string | url_encode
Mã hóa các kí tự URL-unsafe trong chuỗi sang dạng percent-encoded tương ứng
Ví dụ:
{{ 'test@test.com' | url_encode }}
Output:
test%40test.com
url_escape
string | url_escape
Mã hóa tất cả các kí tự URL-unsafe trong chuỗi
Ví dụ:
{{ '<p>Health & Love potions</p>' | url_escape }}
Output:
%3Cp%3EHealth%20&%20Love%20potions%3C/p%3E
Bộ lọc Tag
Bộ lọc Tag cho phép khách hàng xem, thêm và xóa tag trong ngữ cảnh của collections, blogs
link_to_add_tag
string | link_to_add_tag
Tạo thẻ HTML <a>
với thuộc tính href
liên kết đến danh mục sản phẩm hoặc blog mà sản phẩm hoặc bài viết thỏa mãn tag chỉ định cũng như các tag đang hoạt động
Ví dụ:
{% for tag in collection.tags %}
{{ tag | link_to_add_tag: tag }}
{% endfor %}
Output:
<a title="Show products matching tag giay" href="/collections/san-pham-mua-dong/giay,dep">giay</a>
link_to_remove_tag
string | link_to_remove_tag
Tạo thẻ HTML <a>
với thuộc tính href
liên kết đến danh mục sản phẩm hoặc blog mà sản phẩm hoặc bài viết thỏa mãn các tag đang hoạt động và không thỏa mãn tag đã chỉ định
Ví dụ:
{% for tag in collection.tags %}
{{ tag | link_to_remove_tag: tag }}
{% endfor %}
Output:
<a title="Remove tag giay" href="/collections/san-pham-mua-dong/dep">giay</a>
link_to_tag
string | link_to_tag
Tạo thẻ HTML <a>
với thuộc tính href
liên kết đến danh mục sản phẩm hoặc blog mà sản phẩm hoặc bài viết chỉ thỏa mãn các tag đã chỉ định
Ví dụ:
{% for tag in collection.tags %}
{{ tag | link_to_tag: tag }}
{% endfor %}
Output:
<a title="Show products matching tag giay" href="/collections/san-pham-mua-dong/giay">giay</a>