Hiện tại plugin comments chưa tích hợp trực tiếp với hệ thống thông báo. Tuy nhiên, bạn có thể kết hợp với plugin notifications hoặc workflow để gửi thông báo khi có bình luận mới trên bản ghi.
Tạo Comment Collection cho mỗi loại bình luận (hoặc dùng chung một collection)
Tạo quan hệ hasMany hoặc belongsToMany từ collection chính đến Comment Collection
Thêm Comment block trong trang chi tiết tương ứng
Bình luận có hỗ trợ reply lồng nhau (threaded) không?
Hiện tại plugin hỗ trợ trích dẫn trả lời (quote reply) — khi trả lời, nội dung bình luận gốc được trích dẫn trong bình luận mới. Tuy nhiên, cấu trúc cha-con (threaded comments) chưa được kích hoạt (đã có trong source nhưng bị comment out). Trong tương lai, tính năng này có thể được mở.
Trường content sử dụng kiểu text (long), cho phép lưu trữ nội dung dài không giới hạn ký tự ở tầng database. Tuy nhiên, nếu cần giới hạn, bạn có thể thêm validation ở tầng UI.
Comment Collection là một collection template đặc biệt (template: 'comment') với các đặc điểm:
Đặc điểm
Giá trị
Template
comment
Màu
Cam (orange)
Trường mặc định
content (text, Vditor) — không thể xóa
Preset fields
Tự động thêm, không thể tắt (presetFieldsDisabled = true)
Thứ tự
Order = 2
Làm sao hiển thị Comment block trong popup bản ghi?
Comment block chỉ xuất hiện trong popup nếu collection hiện tại có ít nhất một trường association (hasMany hoặc belongsToMany) trỏ đến một Comment Collection. Nếu không thấy option Comment khi Add block, hãy kiểm tra:
Quyền xóa được kiểm soát qua ACL trên Comment Collection
Người dùng không có quyền xem bản ghi có thấy bình luận không?
Không. Bình luận hiển thị trong context của bản ghi — nếu người dùng không có quyền xem bản ghi, họ cũng không truy cập được trang chi tiết và Comment block.
Đây là hành vi đúng. Plugin chỉ cho phép sửa bình luận do chính mình tạo. Admin có thể xóa nhưng không nhất thiết được phép sửa bình luận của người khác (tùy cấu hình ACL).
Câu hỏi thường gặp — Comments
Sử dụng chung
Bình luận có gửi thông báo không?
Hiện tại plugin comments chưa tích hợp trực tiếp với hệ thống thông báo. Tuy nhiên, bạn có thể kết hợp với plugin notifications hoặc workflow để gửi thông báo khi có bình luận mới trên bản ghi.
Có thể bình luận trên nhiều collection không?
Có. Bạn cần:
hasManyhoặcbelongsToManytừ collection chính đến Comment CollectionBình luận có hỗ trợ reply lồng nhau (threaded) không?
Hiện tại plugin hỗ trợ trích dẫn trả lời (quote reply) — khi trả lời, nội dung bình luận gốc được trích dẫn trong bình luận mới. Tuy nhiên, cấu trúc cha-con (threaded comments) chưa được kích hoạt (đã có trong source nhưng bị comment out). Trong tương lai, tính năng này có thể được mở.
Có giới hạn ký tự bình luận không?
Trường
contentsử dụng kiểutext(long), cho phép lưu trữ nội dung dài không giới hạn ký tự ở tầng database. Tuy nhiên, nếu cần giới hạn, bạn có thể thêm validation ở tầng UI.Nội dung bình luận hỗ trợ Markdown?
Có. Trường
contentsử dụng interfacevditorvới componentMarkdownVditor, hỗ trợ đầy đủ:Cấu hình
Comment Collection khác gì collection thường?
Comment Collection là một collection template đặc biệt (
template: 'comment') với các đặc điểm:commentcontent(text, Vditor) — không thể xóapresetFieldsDisabled = true)Làm sao hiển thị Comment block trong popup bản ghi?
Comment block chỉ xuất hiện trong popup nếu collection hiện tại có ít nhất một trường association (
hasManyhoặcbelongsToMany) trỏ đến một Comment Collection. Nếu không thấy option Comment khi Add block, hãy kiểm tra:Có thể tùy chỉnh giao diện bình luận không?
Có, thông qua:
commentBlockSettingstrong schema settings)Phân quyền
Ai có thể xóa bình luận?
Người dùng không có quyền xem bản ghi có thấy bình luận không?
Không. Bình luận hiển thị trong context của bản ghi — nếu người dùng không có quyền xem bản ghi, họ cũng không truy cập được trang chi tiết và Comment block.
Lỗi thường gặp
Không thấy block Comments trong danh sách
Nguyên nhân có thể:
hasMany/belongsToManyđến Comment CollectionCách xử lý:
plugin-commentsđã bậtBình luận bị mất sau khi xóa bản ghi
Nguyên nhân: Nếu quan hệ giữa bản ghi và Comment Collection được cấu hình
onDelete: CASCADE, xóa bản ghi sẽ xóa toàn bộ bình luận liên quan.Cách xử lý: Nếu muốn giữ bình luận khi xóa bản ghi, thay đổi
onDeletesangSET NULLhoặcNO ACTIONtrong cấu hình quan hệ.Nội dung bình luận hiển thị dạng text thuần
Nguyên nhân: Component hiển thị không phải
MarkdownVditor.Cách xử lý: Kiểm tra cấu hình trường
contenttrong Comment Collection — đảm bảo interface làvditorvà component làMarkdownVditor.Không thể sửa bình luận của người khác
Đây là hành vi đúng. Plugin chỉ cho phép sửa bình luận do chính mình tạo. Admin có thể xóa nhưng không nhất thiết được phép sửa bình luận của người khác (tùy cấu hình ACL).