Đối tượng - objects
Đối tượng liquid biểu diễn biến mà bạn có thể sử dụng để xây dựng giao diện. Các loại đối tượng bao gồm tài nguyên của hàng, các nội dung chuẩn trên Sapo Web và các phần tử chức năng để giúp bạn xây dựng giao diện dễ dàng.
Đối tượng có thể dùng để hiển thị trực tiếp hoặc dùng gián tiếp thông qua thuộc tính của nó. Một số đối tượng tham chiếu đến đối tượng khác thông qua thuộc tính ví dụ như sản phẩm trong danh mục sản phẩm.
Cách sử dụng
Để gọi ra các thuộc tính của đối tượng trên một trang, bạn sử dụng cú pháp {{ }}
. Như ví dụ đối tượng product có thuộc tính name
có thể sử dụng để hiển thị tên sản phẩm:
Ví dụ:
{{ product.name }}
Output:
Adidas neo
Truy cập đối tượng
Cách truy cập đối tượng phụ thuộc vào đối tượng và ngữ cảnh mà bạn muốn truy cập tới. Một đối tượng có thể truy cập theo các cách sau đây:
- Global: Những đối tượng tổng quát này có thể truy cập ở tất các các file liquid trong giao diện
- In Template: Những đối tượng này có thể truy cập trực tiếp dựa vào template cụ thể. Ví dụ đối tượng product có thể truy cập trực tiếp trong template sản phẩm
- Through a parent: Nhiều đối tượng được trả về bởi đối tượng khác hoặc là thuộc tính của đối tượng cha. Ví dụ đối tượng article có thể truy cập thông qua đối tượng tổng quát articles hoặc thông qua thuộc tính
articles
của đối tượng blog
Tạo đối tượng
Bạn cũng có thể tạo ra đối tượng bằng việc sử dụng các thẻ biến
Ví dụ:
{% assign my_variable = 'My custom string.' %}
{{ my_variable }}
Output:
My custom string.
address
Biểu diễn thông tin địa chỉ ví dụ như địa chỉ khách hàng, địa chỉ giao hàng của đơn hàng
Thuộc tính
address1 (string)
Dòng đầu tiên của địa chỉ
address2 (string)
Dòng thứ hai của địa chỉ
city (string)
Tên thành phố
company (string)
Tên tổ chức
country (string)
Tên quốc gia
country_code (string)
Mã quốc gia theo định dạng ISO 3166-1 (alpha 2)
district (string)
Tên quận huyện
district_code (string)
Mã quận huyện
first_name (string)
Tên của địa chỉ
id (number)
ID của địa chỉ
last_name (string)
Tên họ của địa chỉ
name (string)
Tên đầy đủ của địa chỉ bằng cách kết hợp họ và tên
phone (string)
Số điện thoại của địa chỉ
province (string)
Tên tỉnh thành
province_code (string)
Mã tỉnh thành
summary (string)
Mô tả tóm tắt của địa chỉ được vào gồm các thuộc tính sau:
first_name
vàlast_name
address1
vàaddress2
city
ward
district
province
country
ward (string)
Tên phường xã
ward_code (string)
Mã phường xã
zip (string)
Mã bưu điện
alias
Trả về alias của đối tượng tài nguyên được liên kết với template hiện tại
Đối tượng alias
chỉ có thể truy cập trong các template sau:
- article
- blog
- collection
- page
- product
Nếu không giá trị nil
sẽ được trả về
Đối tượng alias
có thể dùng với tên khác là handle
all_products
Tất cả sản phẩm trên site
Bạn có thể dùng đối tượng all_products
để truy cập một product
thông qua alias của nó
Ví dụ:
{{ all_products['adidas-neo'].name }}
Output:
Adidas Neo
article
Một bài viết trong blog
Thuộc tính
alias (string)
alias của bài viết
author (string)
Tên của tác giả bài viết
comments (mảng comment)
Danh sách bình luận được publish trong bài viết
Trả về mảng rỗng nếu bình luận bị tắt trong bài viết
comments_count (number)
Số lượng bình luận được publish trong bài viết
comments_enabled (boolean)
Trả về true
nếu bình luận được bật, false
nếu bình luận bị tắt
content (string)
Nội dung bài viết
created_on (string)
Thời gian bài viết được tạo
id (number)
ID của bài viết
image (image)
Ảnh đại diện của bài viết
metafields (mảng metafield)
metafields được áp dụng trong bài viết
moderated (boolean)
Trả về true
nếu bình luận trong bài viết được cấu hình là moderate
, ngược lại trả về false
modified_on (string)
Thời gian bài viết được chỉnh sửa
published_on (string)
Thời gian bài viết được publish
summary (string)
Nội dung tóm tắt của bài viết
summary_or_content (string)
Trả về summary nếu có, ngược lại trả về content của bài viết
tags (mảng string)
Danh sách tag được áp dụng vào bài viết
template_layout (string)
Tên template được gán vào bài viết
title (string)
Tiêu đề bài viết
url (string)
Đường dẫn tới bài viết
user (user)
Thông tin thành viên là tác giả của bài viết
articles
Tất cả bài viết trên site
Bạn có thể dùng đối tượng articles
để truy cập một article
thông qua alias của nó
Ví dụ:
{% assign article = articles['giay-dep'] %}
{{ article.title | link_to: article.url }}
Output:
<a href="/giay-dep" title="">Giày đẹp</a>
blog
Thông tin một blog trên site
Thuộc tính
alias (string)
alias của blog
all_tags (mảng string)
Tất cả tag từ tất cả bài viết của blog. Danh sách này không bị ảnh hưởng bởi bộ lọc hiện tại
articles (mảng article)
Danh sách bài viết của blog
articles_count (number)
Số lượng bài viết của blog
comments_enabled (boolean)
Trả về true
nếu bình luận được bật cho blog, false
nếu bình luận bị tắt
description (string)
Mô tả của blog
id (number)
ID của bài viết
metafields (mảng metafield)
metafields được áp dụng vào blog
moderated (boolean)
Trả về true
nếu bình luận trong blog được cấu hình là moderate
, ngược lại trả về false
name (string)
Tên của blog
next_article (article)
Trả về bài viết tiếp theo trong blog, nil
nếu không có bài viết tiếp
Thuộc tính này có thể được sử dụng trên trang article
để sinh ra link tiếp theo
previous_article (article)
Trả về bài viết trước đó trong blog, nil
nếu không có bài viết trước
Thuộc tính này có thể được sử dụng trên trang article
để sinh ra link trước đó
tags (mảng string)
Danh sách tất cả tag của các bài viết trong blog
Không giống như all_tags, danh sách này ảnh hưởng bởi bộ lọc hiện tại
template_layout (string)
Tên template được gán vào blog
url (string)
Đường dẫn tới blog
blogs
Tất cả blog trên site
Bạn có thể dùng đối tượng blogs
để truy cập một blog
thông qua alias của nó
Ví dụ:
{% for article in blogs.giay-dep.articles %}
{{- article.title | link_to: article.url }}
{% endfor %}
Output:
<a href="/adidas-neo" title="">Adidas Neo</a>
<a href="/nike-air-force" title="">Nike Air Force</a>
canonical_url
Đường dẫn canonical của trang hiện tại
Xem thêm tại Google’s documentation
cart
Thông tin giỏ hàng của khách hàng
Thuộc tính
attributes
Thông tin thuộc tính được thêm vào giỏ hàng
empty (boolean)
Trả về true
nếu không có line item nào trong giỏ hàng, ngược lại trả về false
item_count (number)
Số lượng item trong giỏ hàng
items (mảng line_item)
Danh sách item trong giỏ hàng
note (string)
Ghi chú cho giỏ hàng
requires_shipping (boolean)
Trả về true
nếu có sản phẩm trong giỏ hàng yêu cầu vận chuyển, ngược lại trả về false
total_discounts (number)
Tổng giá trị khuyến mãi trong giỏ hàng
total_line_items_price (number)
Tổng giá trị line item trước khi áp dụng chương trình khuyến mãi.
total_price (number)
Tổng giá trị line item sau khi áp dụng chương trình khuyến mãi.
total_weight (number)
Tổng khối lượng của các item trong giỏ hàng
collection
Thông tin danh mục sản phẩm
Thuộc tính
alias (string)
alias của danh mục sản phẩm
all_products_count (number)
Số lượng sản phẩm trong danh mục sản phẩm. Số lượng này không ảnh hưởng bởi bộ lọc hiện tại
all_tags (mảng string)
Tất cả tag từ tất cả sản phẩm của danh mục sản phẩm. Danh sách này không bị ảnh hưởng bởi bộ lọc hiện tại
all_types (mảng string)
Tất cả loại sản phẩm từ tất cả sản phẩm của danh mục sản phẩm. Danh sách này không bị ảnh hưởng bởi bộ lọc hiện tại
all_vendors (mảng string)
Tất cả tên nhà cung cấp từ tất cả sản phẩm của danh mục sản phẩm. Danh sách này không bị ảnh hưởng bởi bộ lọc hiện tại
current_type (string)
Loại sản phẩm hiện tại trên trang danh mục sản phẩm
Bạn có thể truy vấn danh sách sản phẩm của 1 loại cụ thể bằng đường dẫn /colllections/types
với tham số ?query=[type]
trong đó type
là loại sản phẩm bạn muốn truy vấn
current_vendor (string)
Tên nhà cung cấp hiện tại trên trang danh mục sản phẩm
Bạn có thể truy vấn danh sách sản phẩm của 1 nhà cung cấp cụ thể bằng đường dẫn /colllections/vendors
với tham số ?query=[vendor]
trong đó vendor
là tên nhà cung cấp bạn muốn truy vấn
default_sort_by (string)
Kiểu sắp xếp mặc định của danh mục sản phẩm được cấu hình trong trang admin
Các giá trị có thể:
- manual
- alpha-asc
- alpha-desc
- price-asc
- price-desc
- created-asc
- created-desc
description (string)
Mô tả của danh mục sản phẩm
id (number)
ID của danh mục sản phẩm
image (image)
Ảnh của danh mục sản phẩm
metafields (mảng metafield)
metafields được áp dụng vào danh mục sản phẩm
name (string)
Tên của danh mục sản phẩm
products (mảng product)
Danh sách sản phẩm trong danh mục sản phẩm
products_count (mảng product)
Số lượng sản phẩm trong danh mục sản phẩm
published_on (string)
Thời gian danh mục sản phẩm được publish
sort_by (string)
Kiểu sắp xếp được áp dụng trong danh mục thông qua tham số sortBy
trên URL
Nếu tham số sortBy
không được chỉ định, giá trị trả về sẽ là nil
tags (mảng string)
Danh sách tất cả tag của các bài viết trong danh mục sản phẩm
Không giống như all_tags, danh sách này ảnh hưởng bởi bộ lọc hiện tại
template_layout (string)
Tên template được gán vào danh mục sản phẩm
url (string)
Đường dẫn tới danh mục sản phẩm
collections
Tất cả danh mục sản phẩm trên site
Duyệt danh sách collections
Bạn có thể duyệt collections
để xây dựng danh sách danh mục sản phẩm
Ví dụ:
{% for collection in collections %}
{{- collection.name | link_to: collection.url }}
{% endfor %}
Output:
<a href="/giay" title="">Giày</a>
<a href="/dep" title="">Dép</a>
Truy cập danh mục sản phẩm cụ thể
Bạn có thể dùng đối tượng collections
để truy cập một collection
thông qua alias của nó
Ví dụ:
{% for product in collections['giay'].products %}
{{- product.name | link_to: product.url }}
{% endfor %}
Output:
<a href="/adidas-neo" title="">Adidas Neo</a>
<a href="/adidas-ultraboost" title="">Adidas UltraBoost</a>
<a href="/nike" title="">Nike</a>
comment
Một bình luận trong bài viết
Thuộc tính
author (string)
Tên đầy đủ của tác giả bình luận
content (string)
Nội dung bình luận
created_on (string)
Thời gian tạo bình luận
email (string)
email của người bình luận
id (number)
ID của bình luận
modified_on (string)
Thời gian chỉnh sửa của bình luận
status (string)
Trạng thái bình luận. Các giá trị có thể là:
- unapproved
- published
- removed
- spam
url (string)
Đường dẫn tới bình luận trong bài viết
content_for_header
Trả về tất cả các script động được sinh ra bởi Sapo Web
Được dùng trong các layout file giữa các thẻ HTML <head>
và </head>
Bạn không nên sửa nội dung của đối tượng content_for_header
vì nội dung này thay đổi và có thể thay đổi hành vi code của bạn
Đối tượng content_for_header
là bắt buộc trong file theme.bwt
content_for_layout
Trả về nội dung động dựa trên template hiện tại
Được dùng trong các layout file giữa các thẻ HTML <body>
và </body>
Đối tượng content_for_layout
là bắt buộc trong file theme.bwt
current_page
Trả về chỉ số trang hiện tại (1-based index)
Luôn là 1 với tài nguyên không thể phân trang
Ví dụ:
{{ page_title }} - Trang: {{ current_page }}
Output:
Bộ sưu tập hè - Trang: 1
current_tags
Trả về danh sách tag đang được áp dụng
customer
Thông tin khách hàng trên site
Đối tượng customer
có thể truy cập global khi khách hàng đã đăng nhập tài khoản. Ngoài ra có thể truy cập đối tượng này gián tiếp qua:
Ngoài các ngữ cảnh trên, đối tượng customer
sẽ trả về nil
Thuộc tính
accepts_marketing (boolean)
Trả về true
nếu khách hàng đồng ý tiếp nhận tiếp thị, ngược lại trả về false
addresses (mảng address)
Danh sách địa chỉ của khách hàng
addresses_count (number)
Số lượng địa chỉ của khách hàng
default_address (address)
Địa chỉ mặc định của khách hàng
email (string)
Email khách hàng
first_name (string)
Tên khách hàng
id (number)
ID của khách hàng
last_name (string)
Tên họ khách hàng
last_order (order)
Đơn cuối được đặt bởi khách hàng
metafields (mảng metafield)
metafields được áp dụng vào khách hàng
name (string)
Tên đầy đủ của khách hàng
new_address (address)
Được sử dụng trong thẻ form cho việc tạo mới địa chỉ khách hàng
orders (mảng order)
Danh sách đơn hàng được đặt bởi khách hàng
orders_count (number)
Số lượng đơn hàng được đặt bởi khách hàng
phone (string)
Số điện thoại của khách hàng
tags (mảng string)
Danh sách tag liên kết với khách hàng
total_spent (number)
Tổng chi tiêu của khách hàng
discount
Thông tin khuyến mãi được áp dụng vào giỏ hàng, line item hoặc đơn hàng
Thuộc tính
amount (number)
Tổng giá trị khuyến mãi
code (string)
Tên khuyến mãi
savings (number)
Tổng giá trị khuyến mãi theo giá trị âm
type (string)
Loại khuyến mãi
forloop
Thông tin vòng lặp trong thẻ for
Thuộc tính
first (boolean)
Trả về true
nếu nó là vòng lặp đầu tiên, ngược lại trả về false
index (number)
Chỉ số của lần lặp (1-based index)
index0 (number)
Chỉ số của lần lặp (0-based index)
last (boolean)
Trả về true
nếu nó là vòng lặp cuối cùng, ngược lại trả về false
length (number)
Số lần lặp có thể
rindex (number)
Chỉ số của lần lặp theo thứ tự ngược lại (1-based index)
rindex0 (number)
Chỉ số của lần lặp theo thứ tự ngược lại (0-based index)
Ví dụ:
{% for page in pages -%}
{%- if forloop.length > 0 -%}
{{ page.title }}{% unless forloop.last %}, {% endunless -%}
{%- endif -%}
{% endfor %}
Output:
About us, Contact
form
Thông tin form được tạo bởi thẻ form
Thuộc tính
errors (form_errors)
Danh sách lỗi trong form
Nếu không có lỗi nào, giá trị nil
sẽ được trả về
posted_successfully (boolean)
Trả về true
nếu form được gửi lên thành công. Trả về false
nếu form được gửi lên có lỗi
Khi form chưa được gửi, giá trị nil
sẽ được trả về
form_errors
Thông tin lỗi của form được tạo bởi thẻ form
Thuộc tính
messages
key-value thông tin lỗi của các thuộc tính
Ví dụ:
<ul>
{% for error in form.errors %}
<li>
{{ form.errors.messages[error] }}
</li>
{% endfor %}
</ul>
fulfillment
Thông tin fulfillment trong đơn hàng
Thuộc tính
created_on (string)
Thời gian fulfillment được tạo
tracking_company (string)
Tên của dịch vụ fulfillment
tracking_number (string)
Định danh dùng để theo dõi fulfillment
tracking_url (string)
Đường dẫn tới định danh của fulfillment
image
Thông tin ảnh ví dụ như ảnh sản phẩm, ảnh danh mục sản phẩm
Thuộc tính
alt (string)
Thông tin ảnh
height (number)
Chiều cao của ảnh
src (string)
Đường dẫn của ảnh
width (number)
Chiều rộng của ảnh
line_item
Thông tin item trong các đối tượng như giỏ hàng, đơn hàng. Mỗi item đại diện cho một phiên bản sản phẩm
Thuộc tính
grams (number)
Khối lượng của phiên bản liên kết với line item tính theo gram
id (string)
ID của line item
image (image)
Ảnh của line item
Ảnh này có thể đến từ:
- Ảnh của phiên bản liên kết với line item
- Ảnh đại diện của sản phẩm liên kết với item nếu phiên bản không có ảnh
line_price_final (number)
Giá trị sau khuyến mãi của line item. Giá trị này tương ứng với price_final
nhân quanity
line_price_original (number)
Giá trị trước khuyến mãi của line item. Giá trị này tương ứng với price_original
nhân quanity
price_final (number)
Giá sau khuyến mãi của line item
price_original (number)
Giá trước khuyến mãi của line item
product (product)
Sản phẩm liên kết với line item
product_id (number)
ID của sản phẩm liên kết với line item
product_name (string)
Tên của sản phẩm liên kết với line item
properties
Thuộc tính được thêm vào line item
quantity (number)
Số lượng của line item
requires_shipping (boolean)
Trả về true
nếu có phiên bản liên kết với line item yêu cầu vận chuyển, ngược lại trả về false
sku (string)
sku của phiên bản liên kết với line item
taxable (boolean)
Trả về true
nếu có line item đã tính thuế, ngược lại trả về false
title (string)
Tiêu đề của line item. Là sự kết hợp giữa line_item.product.name
và line_item.variant.title
total_discount (number)
Giá trị khuyến mãi áp dụng cho line item. Lưu ý giá trị này chưa tính đến quantity
url (string)
Đường dẫn tới phiên bản liên kết với line item
variant (variant)
Phiên bản liên kết với line item
variant_id (number)
ID của phiên bản liên kết với line item
variant_title (string)
Tiêu đề của phiên bản liên kết với line item
vendor (string)
Tên nhà cung cấp của phiên bản liên kết với line item
Thuộc tính Deprecated
line_price (number)
Trả về giá trị của item (đã nhân với quantity
) sau khuyến mãi đối với cart.items, trước khuyến mãi đối với order.line_items
Thuộc tính line_item.line_price
đã được thay thế bởi các thuộc tính line_item.line_price_final
và line_item.line_price_original
price (number)
Trả về giá của item sau khuyến mãi đối với cart.items, trước khuyến mãi đối với order.line_items
Thuộc tính line_item.price
đã được thay thế bởi các thuộc tính line_item.price_final
và line_item.price_original
link
Thông tin liên kết trong menu
Thuộc tính
active (boolean)
Trả về true
nếu link đang hoạt động, ngược lại trả về false
Link được coi là đang hoạt động nếu URL hiện tại có đường dẫn trùng hoặc chứa url của liên kết
Ví dụ nếu URL hiện tại đang là /collections/giay/adidas-neo
thì các url sau đây được coi là đang hoạt động
/collections/giay/adidas-neo
/collections/giay
alias (string)
alias của link
links (mảng link)
Danh sách link con của link hiện tại
object
Đối tượng được liên kết với link
Đối tượng có thể là một trong các loại sau:
title (string)
Tiêu đề của liên kết
type (string)
Loại link. Các giá trị có thể:
Kiểu | Mô tả |
---|---|
article_link | link trỏ đến bài viết |
blog_link | link trỏ đến blog |
product_link | link trỏ đến sản phẩm |
collection_link | link trỏ đến danh mục |
page_link | link trỏ đến trang nội dung |
http_link | link trỏ đến liên kết ngoài |
relative_link | link trỏ đến trang chủ, trang tìm kiếm, trang /collections/all |
url (string)
Đường dẫn của link
linklist
Một menu trên site
Thuộc tính
alias (string)
alias của menu
links (mảng link)
Danh sách link trong menu
title (string)
Tiêu đề của menu
linklists
Tất cả menu trên site
Bạn có thể dùng đối tượng linklists
để truy cập một linklist
thông qua alias của nó
Ví dụ:
{% for link in linklists.main-menu.links -%}
{{ link.title | link_to: link.url }}
{%- endfor %}
Output:
<a href="/" title="">Home</a>
<a href="/collections/all" title="">Catalog</a>
<a href="/pages/contact" title="">Contact</a>
metafield
Biểu diễn thông tin metadata cho đối tượng cha
Thuộc tính
type (string)
Loại metafield. Các loại có thể:
- string
- integer
- boolean
value
Giá trị chứa trong metafield
Truy cập metafield
Đường dẫn truy cập tới metafield bao gồm 2 tầng:
- namespace - Nhóm metafield để tránh xung đột tên
- key - Tên metafield
Khi đó bạn có thể truy cập đối tượng metafield theo cú pháp:
{{ resource.metafields.namespace.key }}
Ví dụ:
Type: {{ product.metafields.information.message.type }}
Value: {{ product.metafields.information.message.value }}
Output:
Type: string
Value: Take with a meal.
order
Thông tin đơn hàng
Thuộc tính
attributes
Thông tin thuộc tính được thêm vào đơn hàng
billing_address (address)
Địa chỉ thanh toán của đơn hàng
cancel_reason (string)
Lý do hủy đơn
cancelled (boolean)
Trả về true
nếu đơn đã bị hủy, ngược lại trả về false
cancelled_on (string)
Thời gian đơn bị hủy
created_on (string)
Thời gian đơn được tạo
customer (customer)
Khách hàng đã đặt đơn
customer_url (string)
Đường dẫn tới trang chi tiết đơn hàng của khách hàng
discounts (mảng discount)
Danh sách thông tin khuyến mãi của đơn hàng
email (string)
Email của đơn hàng
financial_status (string)
Trạng thái thanh toán của đơn. Các giá trị có thể:
- pending
- authorized
- paid
- partially_paid
- refunded
- partially_refunded
- voided
fulfillment_status (string)
Trạng thái hoàn thành của đơn
fulfillments (mảng fulfillment)
Danh sách fulfillment của đơn
id (number)
ID của đơn
item_count (number)
Số lượng item trong đơn
line_items (mảng line_item)
Danh sách line_item trong đơn
metafields (mảng metafield)
metafields được áp dụng vào đơn hàng
name (string)
Mã đơn hàng theo định dạng được thiết lập trong trang admin.
note (string)
Ghi chú của đơn hàng
order_number (number)
Số thứ tự của đơn hàng
shipping_address (address)
Địa chỉ nhận hàng trong đơn hàng
shipping_methods (mảng shipping_method)
Phương thức vận chuyển của đơn hàng
shipping_price (number)
Trả về phí vận chuyển của đơn hàng. Trong trường hợp đơn có áp dụng mã miễn phí vận chuyển, giá trị này là phí vận chuyển trước khi tính khuyến mãi
status (string)
Trạng thái quản lý của đơn. Các giá trị có thể:
- open
- closed
- cancelled
subtotal_price (number)
Trả về tổng giá trị line item sau khuyến mãi.
total_discounts (number)
Tổng khuyến mãi đã áp dụng trong đơn hàng
total_line_items_price (number)
Tổng giá trị line item trước khuyến mãi
total_price (number)
Trả về tổng giá trị của đơn hàng. Giá trị này đã bao gồm khuyến mãi, phí ship
Thuộc tính Deprecated
discount (discount)
Thông tin khuyến mãi của đơn hàng
Sử dụng discounts thay thế
page
Thông tin trang nội dung trên site
Thuộc tính
alias (string)
alias của trang
author (string)
Tên đầy đủ của tác giả trang
content (string)
Nội dung trang
id (number)
ID của trang
metafields (mảng metafield)
metafields được áp dụng vào trang
published_on (string)
Thời gian trang được publish
template_layout (string)
Tên template được gán vào trang
title (string)
Tiều đề của trang
url (string)
Đường dẫn tới trang
page_description
Thông tin mô tả SEO của trang hiện tại
page_title
Thông tin tiêu đề SEO của trang hiện tại
pages
Tất cả trang nội dung trên site
Bạn có thể dùng đối tượng pages
để truy cập một page
thông qua alias của nó
Ví dụ:
{{ pages.contact.title }}
{{ pages['about-us'].title }}
Output:
Contact
About us
Phân trang đối tượng pages
Bạn có thể phân trang đối tượng pages
Ví dụ:
{% paginate pages by 2 -%}
{% for page in pages -%}
{{ page.title | link_to: page.url }}
{%- endfor %}
{%- endpaginate %}
Output:
<a href="/about-us" title="">About us</a>
<a href="/contact" title="">Contact</a>
paginate
Thông tin phân trang được tạo bởi thẻ paginate
Thuộc tính
current_offset (number)
Tổng số item trên tất cả các trang trước trang hiện tại
Ví dụ, nếu bạn phân 5 item trên 1 trang và bạn đang ở trang 3 thì giá trị paginate.current_offset
là 10
current_page (number)
Chỉ sổ trang hiện tại
items (number)
Tổng số item được phân trang
Ví dụ nếu bạn phân trang một danh mục có 120 sản phẩm thì giá trị của paginate.items
là 120
next (part)
Phần điều hướng tới trang tiếp theo
page_size (number)
Số lượng item được hiển thị trên một trang
pages (number)
Tổng số trang được sinh ra
parts (mảng part)
Danh sách các phần phân trang dùng để xây dựng thanh điều hướng
previous (part)
Phần điều hướng tới trang trước đó
part
Phần trong thanh điều hướng cho việc phân trang
Thuộc tính
is_link (boolean)
Trả về true
nếu phần này một liên kết, ngược lại trả về false
title (string)
Chỉ số trang liên kết với phần này
url (string)
Đường dẫn của phần này
Tạo thanh điều hướng với part
Bạn có thể tạo thanh điều hướng phân trang bằng cách duyệt qua part
trong đối tượng paginate
Ví dụ:
{% for part in paginate.parts %}
{% if part.is_link %}
{{ part.title | link_to: part.url}}
{% endif %}
{% endfor %}
Output:
<a href="/frontpage?page=1" title="">1</a>
<a href="/frontpage?page=2" title="">2</a>
<a href="/frontpage?page=3" title="">3</a>
powered_by_link
Tạo phần tử HTML thể hiện thông tin Sapo
Ví dụ:
{{ powered_by_link }}
Output:
Phát triển bởi <a href="https://sapo.vn" title="Sapo" target="_blank">Sapo</a>
product
Thông tin sản phẩm trên site
Thuộc tính
alias (string)
alias của sản phẩm
available (boolean)
Trả về true
nếu ít nhất một phiên bản còn hàng, ngược lại trả về false
Đối với một phiên bản được coi là còn hàng nếu thỏa mãn một trong các tiêu chí sau:
variant.inventory_quantity
lớn hơn 1variant.inventory_policy
được đặt làcontinue
variant.inventory_management
lànil
collections (mảng collection)
Danh sách danh mục mà sản phẩm thuộc về
compare_at_price (number)
Giá trị compare_at_price
nhỏ nhất của tất cả các phiên bản trong sản phẩm
compare_at_price_max (number)
Giá trị compare_at_price
lớn nhất của tất cả các phiên bản trong sản phẩm
compare_at_price_min (number)
Giá trị compare_at_price
nhỏ nhất của tất cả các phiên bản trong sản phẩm. Giá trị này tương tự như product.compare_at_price
compare_at_price_varies (boolean)
Trả về true
nếu giá trị compare_at_price
của sản phẩm biến đổi, ngược lại trả về false
content (string)
Mô tả của sản phẩm
created_on (string)
Thời gian sản phẩm được tạo
featured_image (image)
Ảnh đại diện của sản phẩm
first_available_variant (variant)
Phiên bản đầu tiên còn hàng của sản phẩm
has_only_default_variant (boolean)
Trả về true
nếu sản phẩm chỉ có phiên bản mặc định, ngược lại trả về false
id (number)
ID của sản phẩm
images (mảng image)
Danh sách ảnh của sản phẩm
metafields (mảng metafield)
metafields được áp dụng vào sản phẩm
name (string)
Tên của sản phẩm
options (mảng string)
Danh sách tên các tùy chọn của sản phẩm
price (number)
Giá trị price
nhỏ nhất của tất cả các phiên bản trong sản phẩm
price_max (number)
Giá trị price
lớn nhất của tất cả các phiên bản trong sản phẩm
price_min (number)
Giá trị price
nhỏ nhất của tất cả các phiên bản trong sản phẩm. Giá trị này tương tự như product.price
price_varies (boolean)
Trả về true
nếu giá trị price
của sản phẩm biến đổi, ngược lại trả về false
published_on (string)
Thời gian sản phẩm được publish
selected_or_first_available_variant (variant)
Trả về phiên bản đang được chọn hoặc phiên bản đầu tiên còn hàng
selected_variant (variant)
Trả về phiên bản đang được chọn
Phiên bản được chọn được xác định bằng tham số variantId
trên URL
summary (string)
Mô tả ngắn của sản phẩm
summary_or_content (string)
Trả về summary của sản phẩm nếu có, ngược lại trả về content của sản phẩm
tags (mảng string)
Danh sách tag của sản phẩm
template_layout (string)
Tên template được gán vào sản phẩm
type (string)
Loại sản phẩm
url (string)
Đường dẫn tới sản phẩm
variants (mảng variant)
Danh sách phiên bản của sản phẩm
vendor (string)
Tên nhà cung cấp
request
Thông tin đường dẫn và trang liên kết tới
Thuộc tính
design_mode (boolean)
Trả về true
nếu request được tạo từ trình chỉnh sửa giao diện, ngược lại trả về false
Bạn có thể dùng request.design_mode
để điểu khiển hành vi của giao diện khi đang ở chế độ design. Chẳng hạn như tắt tracking script
host (string)
Tên miền của request
origin (string)
Protocol và tên miền của request
page_type (string)
Loại trang đang request tới. Các giá trị có thể:
- 404
- article
- blog
- cart
- collection
- list_collections
- customers/account
- customers/login
- customers/register
- customers/reset_password
- customers/change_password
- customers/addresses
- customers/order
- customers/orders
- index
- page
- password
- product
- search
path (string)
Đường dẫn của request
robot_group
Thông tin nhóm các rule trong file robots.txt
Thuộc tính
rules (mảng string)
Danh sách rule cho file robots.txt
, dùng để nói cho crawlers biết trang nào có thể và không thể truy cập
sitemap (string)
Sitemap của nhóm
user_agent (string)
Thông tin User Agent của nhóm
robots
Thông tin nhóm rule mặc định trong file robots.txt
Thuộc tính
default_groups (mảng robot_group)
Danh sách nhóm rule mặc định
routes
Cho phép bạn sinh ra các URL tiêu chuẩn trên site
Sử dụng đối tượng routes
cho phép tránh việc hardcode URL trên theme
Thuộc tính
account_addresses_url (string)
Đường dẫn tới trang danh sách địa chỉ khách hàng
account_login_url (string)
Đường dẫn tới trang đăng nhập
account_logout_url (string)
Đường dẫn tới trang đăng xuất
account_recover_url (string)
Đường dẫn tới trang khôi phục mật khẩu
account_register_url (string)
Đường dẫn tới trang đăng ký
account_url (string)
Đường dẫn tới trang khách hàng
all_products_collection_url (string)
Đường dẫn tới trang danh sách tất cả sản phẩm
cart_add_url (string)
Đường dẫn tới link thêm vào giỏ hàng
cart_change_url (string)
Đường dẫn tới link thay đổi giỏ hàng
cart_clear_url (string)
Đường dẫn tới link xóa giỏ hàng
cart_update_url (string)
Đường dẫn tới link cập nhật giỏ hàng
cart_url (string)
Đường dẫn tới trang giỏ hàng
collections_url (string)
Đường dẫn tới trang danh sách danh mục sản phẩm
root_url (string)
Đường dẫn tới trang chủ
search_url (string)
Đường dẫn tới trang tìm kiếm
search
Thông tin kết quả tìm kiếm
Thuộc tính
performed (boolean)
Trả về true
nếu hành động tìm kiếm đã được thực hiện, ngược lại trả về false
results
Danh sách đối tượng trong kết quả tìm kiếm
Đối tượng có thể là article, page, product
Sử dụng thuộc tính object_type
trên từng đối tượng để phân biệt loại đối tượng
results_count (number)
Số lượng đối tượng trong kết quả tìm kiếm
sort_by (string)
Thứ tự sắp xếp kết quả tìm kiếm. Thứ tự này được chỉ định bởi tham số sortBy
trên URL
terms (string)
Từ khóa cần tìm kiếm
types (mảng string)
Loại các đối tượng cần tìm kiếm. Giá trị này được chỉ định bởi tham số type
trên URL. Các giá trị có thể:
- article
- page
- product
settings
Truy cập tất cả giá trị cấu hình trong file configs/settings_schema.json
Ví dụ:
{% if settings.favicon != blank %}
<link rel="icon" type="image/png" href="{{ settings.favicon | img_url }}">
{% endif %}
Output:
<link rel="icon" type="image/png" href="https://bizweb.dktcdn.net/100/027/489/themes/785187/assets/favicon.png?1668531828979">
shipping_method
Thông tin phương thức vận chuyển trong đơn hàng
Thuộc tính
alias (string)
alias của phương thức vận chuyển
id (string)
ID của phương thức vận chuyển
price_final (number)
Giá của phương thức vận chuyển sau khuyến mãi
price_original (number)
Giá của phương thức vận chuyển trước khuyến mãi
title (string)
Tiêu đề phương thức vận chuyển
Thuộc tính Deprecated
price (number)
Giá của phương thức vận chuyển trước khuyến mãi
Thuộc tính shipping_method.price
đã được thay thế bởi thuộc tính shipping_method.price_original
store
Thông tin của cửa hàng ví dụ như địa chỉ, các cấu hình
Thuộc tính
collections_count (number)
Số lượng danh mục sản phẩm trên cửa hàng
customer_accounts_enabled (boolean)
Trả về true
nếu cửa hàng bật tính năng tài khoản khách hàng, ngược lại trả về false
customer_accounts_optional (boolean)
Trả về false
nếu tài khoản khách hàng là bắt buộc để đặt hàng, ngược lại trả về true
customer_email (string)
Địa chỉ email người gửi của cửa hàng
description (string)
Mô tả của cửa hàng
domain (string)
Tên miền chính của cửa hàng
id (number)
ID của cửa hàng
metafields (mảng metafield)
metafields được áp dụng vào đối tượng store
money_format (string)
Cấu hình money_format
của cửa hàng
money_with_currency_format (string)
Cấu hình money_with_currency_format
của cửa hàng
name (string)
Tên cửa hàng
password_message (string)
Thông báo yêu cầu mật khẩu để truy cập site
permanent_domain (string)
Tên miền .mysapo.net
của cửa hàng
phone_number (string)
Số điện thoại của cửa hàng
products_count (number)
Số lượng sản phẩm trên cửa hàng
store_address (address)
Địa chỉ của cửa hàng
types (mảng string)
Tất cả loại sản phẩm trên cửa hàng
Đường dẫn đẩy đủ của cửa hàng
url (string)
Đường dẫn đẩy đủ của cửa hàng
vendors (mảng string)
Tất cả tên nhà cung cấp trên cửa hàng
Thuộc tính Deprecated
address (string)
Địa chỉ của cửa hàng
Sử dụng store_address thay thế
province (string)
Địa chỉ quận huyện của cửa hàng
Sử dụng store_address thay thế
tablerowloop
Thông tin vòng lặp trong thẻ tablerow
Thuộc tính
col (number)
Chỉ số của cột hiện tại (1-based index)
col0 (number)
Chỉ số của cột hiện tại (0-based index)
col_first (boolean)
Trả về true
nếu cột hiện tại là cột đầu tiên trong hàng, ngược lại trả về false
col_last (boolean)
Trả về true
nếu cột hiện tại là cột cuối cùng trong hàng, ngược lại trả về false
first (boolean)
Trả về true
nếu nó là vòng lặp đầu tiên, ngược lại trả về false
index (number)
Chỉ số của lần lặp (1-based index)
index0 (number)
Chỉ số của lần lặp (0-based index)
last (boolean)
Trả về true
nếu nó là vòng lặp cuối cùng, ngược lại trả về false
length (number)
Số lần lặp có thể
rindex (number)
Chỉ số của lần lặp theo thứ tự ngược lại (1-based index)
rindex0 (number)
Chỉ số của lần lặp theo thứ tự ngược lại (0-based index)
template
Tên template hiện tại được kết hợp giữa tên loại template và tên alternate template
Ví dụ file template product.bwt
với alternate template là flashsale
thì sẽ là product.flashsale
Đối tượng này đã bị deprecated, sử dụng template_object thay thế
template_object
Thông tin template hiện tại
Thuộc tính
directory (string)
Tên của thư mục cha chứa template. Trả về nil
nếu template không có thư mục cha.
Ví dụ với file template customers/account.bwt
thì directory
có giá trị là customers
name (string)
Tên của loại template. Các giá trị có thể:
- 404
- article
- blog
- cart
- collection
- list_collections
- account
- login
- register
- reset_password
- change_password
- addresses
- order
- orders
- index
- page
- password
- product
- search
suffix (string)
Tên alternate template nếu sử dụng. Trả về nil
nếu template mặc định được sử dụng.
Ví dụ nếu file template hiện tại là product.flashsale.bwt
thì suffix sẽ là flashsale
theme
Thông tin về giao diện hiện tại
Thuộc tính
id (number)
ID của giao diện
name (string)
Tên giao diện
role (string)
Vai trò của giao diện. Các giá trị có thể:
role | Mô tả |
---|---|
main | Giao diện được publish. Khách hàng có thể nhìn thấy khi vào site |
unpublished | Giao diện chưa được publish. Khách hàng không thể thấy nó |
user
Thông tin tác giả của bài viết
Thuộc tính
email (string)
Email của tác giả
first_name (string)
Tên của tác giả
last_name (string)
Tên họ của tác giả
name (string)
Tên đầy đủ của tác giả
variant
Thông tin phiên bản của sản phẩm
Thuộc tính
available (boolean)
Trả về true
nếu phiên bản còn hàng, ngược lại trả về false
barcode (string)
Mã barcode của phiên bản
compare_at_price (number)
Giá so sánh của phiên bản
featured_image (image)
Ảnh gán vào phiên bản
id (number)
ID của phiên bản
image (image)
Ảnh gán vào phiên bản. Tương tự variant.featured_image
inventory_management (string)
Thông tin dịch vụ quản lý kho của variant
Nếu kho không được quản lý, giá trị nil
sẽ được trả về
inventory_policy (string)
Chính sách quản lý kho khi phiên bản không còn hàng. Các giá trị có thể sau:
Giá trị | Mô tả |
---|---|
continue | Tiếp tục bán khi hết hàng |
deny | Không bán khi hết hàng |
Ngoài ra khi kho không được quản lý, giá trị nil
sẽ được trả về
inventory_quantity (number)
Số lượng tồn kho của phiên bản
metafields (mảng metafield)
metafields được áp dụng vào phiên bản
option1 (string)
Giá trị của phiên bản cho tùy chọn thứ 1 của sản phẩm
Nếu sản phẩm không có tùy chọn thứ 1, giá trị nil
sẽ được trả về
option2 (string)
Giá trị của phiên bản cho tùy chọn thứ 2 của sản phẩm
Nếu sản phẩm không có tùy chọn thứ 2, giá trị nil
sẽ được trả về
option3 (string)
Giá trị của phiên bản cho tùy chọn thứ 3 của sản phẩm
Nếu sản phẩm không có tùy chọn thứ 3, giá trị nil
sẽ được trả về
options (mảng string)
Danh sách các giá trị của phiên bản cho các tùy chọn của sản phẩm
price (number)
Giá của phiên bản
product (product)
Sản phẩm liên kết với phiên bản
requires_shipping (boolean)
Trả về true
nếu có phiên bản yêu cầu vận chuyển, ngược lại trả về false
selected (boolean)
Trả về true
nếu phiên bản đang được chọn, ngược lại trả về false
Phiên bản được chọn được xác định bằng tham số variantId
trên URL
sku (string)
SKU của phiên bản
taxable (boolean)
Trả về true
nếu phiên bản đang tính thuế, ngược lại trả về false
title (string)
Tiêu đề của phiên bản. Được tạo bằng cách nối các giá trị tùy chọn của phiên bản với ký tự /
unit (string)
Đơn vị tính
url (string)
Đường dẫn của phiên bản. Có dạng /[product-alias]?variantId=[variant-id]
weight (number)
Khối lượng của phiên bản tính theo grams
weight_in_unit (string)
Khối lượng của phiên bản tính theo đơn vị variant.weight_unit
weight_unit (string)
Đơn vị khối lượng của phiên bản được cấu hình