Iteration Tags
Tài liệu theo cú pháp Lingo/Django. Cuộn xuống để đọc đầy đủ hướng dẫn; chọn tên trong danh sách để đến phần tương ứng.
Danh sách đặc tả
| THAM KHẢO | DÙNG TRONG SKAI | TRẠNG THÁI |
|---|---|---|
for | for | Có sẵn · tái sử dụng |
cycle | cycle | Có sẵn · tái sử dụng |
tablerow | for + HTML | Có sẵn · tái sử dụng |
Quy ước cú pháp, bảo mật và trạng thái →
Tham khảo danh mục: Haravan. Đặc tả Skai được biên soạn độc lập theo Lingo.
for
Có sẵn · tái sử dụngDuyệt danh sách. 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.
for · thay for
| Đầu vào | sequence đã cấp quyền |
|---|---|
| Tham số | item in items; reversed tùy chọn |
| Đầu ra | HTML lặp |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
{% for item in ["Áo","Mũ"] %}{{ forloop.Counter }}:{{ item }};{% empty %}Trống{% endfor %}1:Áo;2:Mũ;Trường hợp biên và an toàn
Giới hạn render theo runtime. Dùng slice để giới hạn list đã tải; không tải toàn catalog để phân trang.
for + HTML · thay tablerow
| Đầu vào | list dữ liệu |
|---|---|
| Tham số | Vòng lặp chuẩn |
| Đầu ra | bảng HTML |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
<table>{% for item in ["Áo","Mũ"] %}<tr><td>{{ item }}</td></tr>{% endfor %}</table><table><tr><td>Áo</td></tr><tr><td>Mũ</td></tr></table>Trường hợp biên và an toàn
Dùng CSS grid hoặc chia hàng ở resolver khi cần nhiều cột; không thêm tablerow 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: for, tablerow. 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.
cycle
Có sẵn · tái sử dụngLuân phiên giá trị. 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.
Hợp đồng sử dụng
| Đầu vào | các giá trị của chu kỳ |
|---|---|
| Tham số | Các biểu thức cách nhau bằng khoảng trắng, không dấu phẩy |
| Đầu ra | giá trị luân phiên |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
{% for i in [1,2,3] %}{% cycle "odd" "even" %};{% endfor %}odd;even;odd;Trường hợp biên và an toàn
Đã có trong Lingo nhưng strict merchant profile chưa cho phép; không phát triển lại, cần quyết định policy 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: cycle. 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.