URL Filters
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 |
|---|---|---|
asset_url | asset() | Có sẵn · tái sử dụng |
file_url | file_url | Đang phát triển |
customer_login_link | customer_login_url() | Đang phát triển |
global_asset_url | global_asset_url | Đang phát triển |
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.
asset()
Có sẵn · tái sử dụngURL asset theme. 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 | đường dẫn tương đối trong assets/ |
|---|---|
| Tham số | Hàm nhận path: string |
| Đầu ra | URL |
Dùng helper asset() hiện có; không cần thêm filter asset_url.
{{ asset("shop.css") }}URL assets của theme và draft/release hiện tại.Trường hợp biên và an toàn
Cấm path traversal; URL thực do runtime tạo, không cam kết mẫu CDN cố định.
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: asset_url. 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.
file_url
Đang phát triểnURL file media. Bản thiết kế v0.1 để review trước khi triển khai, chưa phải API phát hành.
Hợp đồng sử dụng
| Đầu vào | media ID/key công khai được resolver cấp |
|---|---|
| Tham số | Không có |
| Đầu ra | URL hoặc lỗi |
Bổ sung mới; cú pháp và hành vi bên dưới là đề xuất, chưa khả dụng.
{{ brochure.id|file_url }}URL công khai của brochure được cấp cho ứng dụng.Trường hợp biên và an toàn
Không tra toàn workspace bằng filename. File private/khác workspace → từ chối; không tự ký public URL.
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.
- Sai tham số phải trả lỗi có tên filter/tag; preview hiển thị vị trí lỗi, production không lộ nội bộ.
- 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: file_url. Hợp đồng và ví dụ là đề xuất riêng cho Skai, không sao chép contract 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.
customer_login_url()
Đang phát triểnLiên kết đăng nhập. Bản thiết kế v0.1 để review trước khi triển khai, chưa phải API phát hành.
Hợp đồng sử dụng
| Đầu vào | không có input filter |
|---|---|
| Tham số | return_path: string nội bộ, mặc định / |
| Đầu ra | URL |
Đề xuất helper URL thay filter sinh HTML; route/auth flow phải chốt trước.
<a href="{{ customer_login_url("/account") }}">Đăng nhập</a>Liên kết đăng nhập khách hàng theo route của store hiện tại.Trường hợp biên và an toàn
Chặn open redirect. Không đồng nhất khách mua hàng với tài khoản quản trị SSO.
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.
- Sai tham số phải trả lỗi có tên filter/tag; preview hiển thị vị trí lỗi, production không lộ nội bộ.
- 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: customer_login_link. Hợp đồng và ví dụ là đề xuất riêng cho Skai, không sao chép contract 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.
global_asset_url
Đang phát triểnURL asset chung. Bản thiết kế v0.1 để review trước khi triển khai, chưa phải API phát hành.
Hợp đồng sử dụng
| Đầu vào | tên asset trong manifest platform |
|---|---|
| Tham số | Không có |
| Đầu ra | URL |
Bổ sung mới; cú pháp và hành vi bên dưới là đề xuất, chưa khả dụng.
{{ "ui-base.css"|global_asset_url }}URL versioned của ui-base.css trong manifest được duyệt.Trường hợp biên và an toàn
Không cho nhập URL tùy ý, path ngoài manifest hay thư viện cũ từ ví dụ Haravan.
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.
- Sai tham số phải trả lỗi có tên filter/tag; preview hiển thị vị trí lỗi, production không lộ nội bộ.
- 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: global_asset_url. Hợp đồng và ví dụ là đề xuất riêng cho Skai, không sao chép contract 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.