Helpers của Skai
Hàm được theme engine đăng ký để dùng trong template.
Tài nguyên & đường dẫn
<link rel="stylesheet" href="{{ asset('style.css') }}">
<a href="{{ url('/themes') }}">Theme</a>asset() dùng asset prefix của theme hiện tại; url() giữ đúng prefix website nếu runtime cung cấp. Không tự ghép domain preview vào source.
Các helper khác
| CÚ PHÁP / GIÁ TRỊ | Ý NGHĨA |
|---|---|
t(key) | Dịch theo locale. |
form(key) | Render form đã published. |
old(key, fallback) | Đọc dữ liệu nhập lại sau request trước. |
menu(name) | Lấy menu qua resolver; kiểm tra catalog đã cấu hình. |
rich_text(value) | Render nội dung rich text qua helper của hệ thống. |
dd(value) — Debug dữ liệu
Có sẵn
Hiển thị giá trị dưới dạng JSON có thụt dòng ngay tại vị trí gọi trong template. Hàm thuộc thư viện Lingo dùng chung cho Lingo engine và theme engine, không cần tự đăng ký helper riêng.
Cú pháp
{{ dd(value) }}Truyền đúng một giá trị cần kiểm tra: chuỗi, số, boolean, danh sách hoặc object. Không gọi dd() không có đối số. Hàm trả về khung HTML debug, không phải JSON thuần cho API.
Khung debug
Dữ liệu hiển thị dạng cây có màu theo kiểu, mở sẵn hai cấp đầu. Bấm object hoặc array để thu gọn/mở rộng. Khung căn trái, có chiều cao giới hạn và thanh cuộn riêng. Mục Raw JSON chứa JSON đầy đủ; nút Copy JSON hỗ trợ sao chép. Nếu chính sách trình duyệt chặn JavaScript nội tuyến, vẫn có thể mở Raw JSON và sao chép thủ công.
Thanh tiêu đề hiển thị file:line:column của lời gọi dd(), kể cả khi nằm trong file include. Đây là vị trí trong source template được parser xử lý, không phải dòng trong HTML đã render. Với template có bước chuyển đổi cú pháp hoặc loại bỏ schema trước khi parse, dòng/cột có thể lệch so với file gốc. Gọi trực tiếp từ Go không có token template sẽ hiển thị direct call.
Ví dụ sử dụng
{# Kiểm tra một danh sách #}
{{ dd(["Áo", "Quần"]) }}
{# Kiểm tra dữ liệu cấu hình theme #}
{{ dd(configs) }}
<p>Nội dung này vẫn hiển thị sau khi debug.</p>Kết quả JSON hiển thị cho ví dụ danh sách:
[
"Áo",
"Quần"
]Giá trị rỗng và lỗi chuyển đổi
Giá trị nil hiển thị null. Dữ liệu không thể chuyển thành JSON (ví dụ tham chiếu vòng hoặc kiểu không được hỗ trợ) hiển thị object có trường error, thay vì làm lỗi toàn bộ trang. Object được chuyển theo quy tắc JSON của Go, bao gồm tên trường và JSON tags nếu có.
An toàn và phạm vi hỗ trợ
Nội dung JSON được escape HTML trước khi hiển thị. Không cần thêm filter safe. Với runtime có allowlist globals, quản trị viên phải cho phép dd; hàm không tự vượt qua security profile.