dictsort
Có sẵn · tái sử dụngSắp xếp 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.
Hợp đồng sử dụng
| Đầu vào | danh sách map/struct (DTO public) |
|---|---|
| Tham số | field: string bắt buộc |
| Đầu ra | list sắp xếp theo field |
Dùng dictsort, không tạo sort tương thích Liquid.
VÍ DỤ LINGO / SKAI
{# items = [{"price":20},{"price":10}] #}
{% for item in items|dictsort:"price" %}{{ item.price }};{% endfor %}KẾT QUẢ MINH HỌA
10;20;Trường hợp biên và an toàn
Dùng hành vi Lingo hiện có; không hứa stable sort hoặc null-last. Strict profile hiện chưa bật; không viết lại sort.
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: sort. 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.