set
Có sẵn · tái sử dụngGán biến. Dùng khả năng hiện có, không tạo alias hoặc triển khai engine trùng chức năng.
set · thay assign
| Đầu vào | biểu thức |
|---|---|
| Tham số | name = expression |
| Đầu ra | biến trong template |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
{% set label = "Áo" %}{{ label }}ÁoTrường hợp biên và an toàn
Không tạo assign; không mutating DB qua template.
set · thay increment
| Đầu vào | integer cục bộ |
|---|---|
| Tham số | set counter = counter + 1 |
| Đầu ra | giá trị tăng |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
{% set counter = 0 %}{% set counter = counter + 1 %}{{ counter }}1Trường hợp biên và an toàn
Không tái tạo namespace counter Liquid. Trong for dùng forloop.Counter; không state giữa request.
set · thay decrement
| Đầu vào | integer cục bộ |
|---|---|
| Tham số | set counter = counter - 1 |
| Đầu ra | giá trị giảm |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
{% set counter = 3 %}{% set counter = counter - 1 %}{{ counter }}2Trường hợp biên và an toàn
Giữ phạm vi set của Lingo; không tag decrement riêng.
Tiêu chí nghiệm thu
- Kiểm thử ví dụ ở trên cùng đầu vào rỗng, Unicode, sai kiểu và giới hạn đầu ra.
- Khóa hành vi của implementation hiện tại bằng test; không sửa ngữ nghĩa để khớp Liquid.
- Không I/O, truy vấn hoặc thay đổi dữ liệu từ template; dữ liệu commerce chỉ qua resolver có quyền.
- Kiểm thử escaping và profile runtime trước khi công bố cho theme.
Nguồn & quyết định chuyển đổi
Tên tham khảo: assign, increment, decrement. Dùng tên/cú pháp Lingo hoặc helper Skai ghi ở đầu trang, không tạo alias tương thích Liquid.
Nguồn tham khảo Haravan · Quy ước đặc tả Skai
Đối chiếu mã nguồn local: skaiplatform/lingo/filters_builtin.go, tags_*.go, security.go và skaiweb/services/theme_engine/functions.go. Badge “Đang phát triển” biểu thị tài liệu dự kiến, không xác nhận engine đã được triển khai.