Skip to main content Link Search Menu Expand Document (external link)

Đố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_namelast_name
  • address1address2
  • 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></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></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.nameline_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_finalline_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_finalline_item.price_original

Thông tin liên kết trong menu

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 của link

Danh sách link con của link hiện tại

Đố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:

Tiêu đề của liên kết

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

Đường dẫn của link

Một menu trên site

alias của menu

Danh sách link trong menu

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

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>

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 1
  • variant.inventory_policy được đặt là continue
  • variant.inventory_managementnil
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

Ả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

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

Ả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