Bỏ qua, đến nội dung

Cấu hình nâng cao

Tham số isTemplate

Khi gọi resource.get(), plugin truyền isTemplate: true để server trả về dữ liệu "sạch":

  • Loại bỏ id, createdAt, updatedAt, createdBy và các field hệ thống khác.
  • Giữ nguyên dữ liệu business (tên, số lượng, trạng thái, v.v.).
  • Relation field trả về FK value để có thể re-link khi tạo bản ghi mới.

Field mapping

Designer cấu hình field mapping trong DuplicateFieldsConfig:

Tùy chọnMô tả
Include fieldsDanh sách field được sao chép (mặc định: tất cả non-system)
Exclude fieldsDanh sách field bị loại bỏ
Relation handlingCopy FK / skip / deep copy (tùy loại relation)

Xử lý relation field

Loại relationHành vi mặc định
belongsToSao chép FK value (re-link đến cùng bản ghi cha)
hasOneKhông sao chép (tránh duplicate constraint)
hasManyKhông sao chép (cần logic riêng)
belongsToManySao chép danh sách ID junction (re-link)

MultiRecordResource

Khi cần nhân bản nhiều bản ghi cùng lúc (kết hợp với selection), plugin sử dụng MultiRecordResource để batch process. Flow:

  1. Lấy danh sách ID đã chọn.
  2. Gọi resource.get() cho từng bản ghi với isTemplate: true.
  3. Gọi resource.create() cho từng bộ dữ liệu.

ACL — Quyền yêu cầu

QuyềnMô tả
createAction yêu cầu quyền create trên collection (vì tạo bản ghi mới)

Không yêu cầu quyền update hay read bổ sung — plugin sử dụng core API get + create đã được ACL kiểm tra.

Tùy chỉnh form Copy into form

Khi dùng chế độ Copy into form, form tạo mới được mở với dữ liệu pre-filled. Designer có thể:

  • Cấu hình form layout riêng cho action duplicate.
  • Thêm validation rules trên form.
  • Ẩn field không cần hiển thị.