s_skaidocsTài liệu
LINGO REFERENCE

Helpers của Skai

Hàm được theme engine đăng ký để dùng trong template.

Tài nguyên & đường dẫn

LINGO
<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.

Không dừng renderTrong Skai, dd() chỉ hiển thị dữ liệu; nội dung phía sau vẫn được render. Đây không phải thao tác “dump and die”.

Cú pháp

LINGO
{{ 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

LINGO
{# 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:

JSON
[
  "Á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.

Chỉ dùng khi phát triểnKhông truyền mật khẩu, token, thông tin cá nhân hoặc dữ liệu bí mật. Escape HTML không che giấu dữ liệu. Xóa lời gọi dd() trước khi publish vì khách truy cập có thể đọc toàn bộ nội dung debug.