include only
Có sẵn · tái sử dụngRender thành phầ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.
include only · thay render
| Đầu vào | template cố định trong theme |
|---|---|
| Tham số | with key=value only |
| Đầu ra | HTML partial |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
{% include "blocks/card.html" with title="Áo" only %}HTML blocks/card.html nhận title, không kế thừa toàn context gọi.Trường hợp biên và an toàn
Không dynamic path từ input; only để cô lập context. Giới hạn include depth theo profile.
include · thay include
| Đầu vào | template cố định |
|---|---|
| Tham số | with key=value tùy chọn; only tùy chọn |
| Đầu ra | HTML partial |
Dùng cú pháp chính thức Lingo; không triển khai alias Liquid.
{% include "blocks/card.html" with title="Áo" only %}Nội dung partial được render với title.Trường hợp biên và an toàn
Chặn traversal và vòng include; xử lý thiếu template theo Lingo.
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: render, include. 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 Shopify · 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.