Skip to main content

Object line_item


Một line item đại diện cho một khoản mục đơn lẻ trong một giỏ hàng. Có một line item cho mỗi loại sản phẩm khác nhau trong giỏ hàng.

Đối tượng line_item có thể được truy cập trong tất cả các template Liquid, cũng như trong template khai báo thư điện tử, trang Cảm Ơn của quầy thanh toán và trong các ứng dụng như Order Printer.

Đối tượng line_item có những thuộc tính sau:

line_item.id

The ID of the line item.

line_item.product

Trả về product của một line item.

Ví dụ cho việc có được một hình ảnh của các line item:

{{ line_item.product.featured_image |  product_img_url | img_tag }}

line_item.variant

Trả về variant của line item.

line_item.title

Trả về tựa đề của line item. Line_item.title kết nối cả product.titlevariant.title của các khoản mục, được phân cách bởi dấu gạch ngang (-).

Input

{{ line_item.title }}

Output

Balloon Shirt - Medium

Để xuất ra tên sản phẩm hoặc tên đặc tính, bạn có thể truy cập title của biến số tương ứng.

Input

Product Title: {{ line_item.product.title }}

Variant Title: {{ line_item.variant.title }}

Output

Product Title: Balloon Shirt

Variant Title: Medium

line_item.price

Trả về giá của một loại line item.

line_item.line_price

Trả về giá của tổng hợp tất cả các item trong line_item. Nó tương ứng với line_item.price nhân với line_item.quantity.

line_item.quantity

Trả về số lượng của line item

line_item.grams

Trả về khối lượng của một line item. Sử dụng bộ lọc weight_with_unit để định dạng khối lượng.

line_item.sku

Trả về SKU của một loại line item .

line_item.vendor

Trả về tên nhà cung cấp một sản phẩm của line item.

line_item.requires_shipping

Trả về true nếu line item yêu cầu gửi hàng hoặc false nếu nó không yêu cầu. Điều này được thiết lập với nhiều lựa chọn trong trang Products của quản trị viên.

line_item.variant_id

Trả về id của loại line item.

line_item.product_id

Trả về id của một sản phẩm của line item.

line_item.fulfillment

Trả về fulfillment của line item.

line_item.properties

The properties of the line item.

You can add, or allow customers to add, custom information to a line item with line item properties.

Line item properties consist of a name and value pair. They can be captured with the following methods:

  • A custom input inside an add cart form.

  • The AJAX Cart API.

Capture line item properties in the add cart form

To capture line item properties inside the add cart form, you need to include an input, for each property. Each input needs a unique name attribute. Use the following format:

name="properties[property-name]"

The value of the input is captured as the value of the property.

For example, you can use the following code to capture custom engraving text for a variant:


<form action="/cart/add" method="post" >
<select name="id">
{% for variant in product.variants %}
<option value="{{variant.id}}"">{{variant.id}}</option>
{% endfor %}
</select>
<input type="number" name="quantity" value="1">

<label for="engravingText">Engraving<label>
<input type="text" id="engravingText" name="properties[Engraving]">
<button>Add vào giỏ</button>
</form>

AJAX Cart API add line item properties

You can add a variant to the cart with line item properties using the properties property. Its value must be an object of key-value pairs.

const urlencoded = new URLSearchParams();
urlencoded.append("id", "1123302729");
urlencoded.append("quantity", "2");
urlencoded.append("properties[Engraving]", "abcd");

fetch(window.location.origin + '/cart/add.js', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
redirect: "follow",
body: urlencoded
})
.then(response => {
console.log(response.status);
return response.status; // 200: success
})
.catch((error) => {
console.error('Error:', error);
});

Display line item properties in cart:

{% for item in cart.items %}
{% unless item.properties == empty %}
{% for property in item.properties %}
{{ property.first }}: {{ property.last }}
{% endfor %}
{% endunless %}
{% endfor %}