s_skaidocsTài liệu

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.

Không phát triển lại tính năng có sẵnCác tên tham khảo từ Liquid được ánh xạ sang Lingo hoặc helper Skai. Chỉ những khả năng còn thiếu mới có badge “Đang phát triển”.

Danh sách đặc tả

THAM KHẢODÙNG TRONG SKAITRẠNG THÁI
forforCó sẵn · tái sử dụng
cyclecycleCó sẵn · tái sử dụng
tablerowfor + HTMLCó 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ụng

Duyệ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.

Phạm vi hỗ trợCó trong thư viện Lingo hoặc helper Skai không đồng nghĩa được phép trong mọi runtime. Chính sách allowlist vẫn áp dụng; không tự mở quyền trong thay đổi tài liệu này.

for · thay for

Đầu vàosequence đã cấp quyền
Tham sốitem in items; reversed tùy chọn
Đầu raHTML lặp

Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.

VÍ DỤ LINGO / SKAI
{% for item in ["Áo","Mũ"] %}{{ forloop.Counter }}:{{ item }};{% empty %}Trống{% endfor %}
KẾT QUẢ MINH HỌA
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àolist dữ liệu
Tham sốVòng lặp chuẩn
Đầu rabảng HTML

Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.

VÍ DỤ LINGO / SKAI
<table>{% for item in ["Áo","Mũ"] %}<tr><td>{{ item }}</td></tr>{% endfor %}</table>
KẾT QUẢ MINH HỌA
<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ụng

Luâ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.

Phạm vi hỗ trợCó trong thư viện Lingo hoặc helper Skai không đồng nghĩa được phép trong mọi runtime. Chính sách allowlist vẫn áp dụng; không tự mở quyền trong thay đổi tài liệu này.

Hợp đồng sử dụng

Đầu vàocá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 ragiá trị luân phiên

Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.

VÍ DỤ LINGO / SKAI
{% for i in [1,2,3] %}{% cycle "odd" "even" %};{% endfor %}
KẾT QUẢ MINH HỌA
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.