Bỏ qua, đến nội dung

Cài đặt và sử dụng — Comments

Tổng quan

Plugin Comments bổ sung tính năng bình luận trực tiếp trên bản ghi (record) của bất kỳ collection nào. Người dùng có thể trao đổi, thảo luận, trích dẫn trả lời và chỉnh sửa bình luận ngay trong giao diện chi tiết bản ghi.

Kiến trúc

Plugin hoạt động dựa trên Comment Collection Template — một loại collection đặc biệt dành riêng cho dữ liệu bình luận. Mỗi collection bình luận mặc định có trường:

TrườngKiểuMô tả
contenttext (long)Nội dung bình luận, sử dụng Markdown (Vditor editor)
createdBypreset fieldNgười tạo bình luận
createdAtpreset fieldThời điểm tạo
updatedAtpreset fieldThời điểm cập nhật

Bước 1: Kích hoạt Plugin

  1. Vào Settings → Plugin Manager
  2. Tìm plugin-comments
  3. Bật toggle để kích hoạt

Bước 2: Tạo Comment Collection

  1. Vào Collection Manager → Add new
  2. Chọn template Comment Collection (màu cam)
  3. Đặt tên, ví dụ: order_comments, task_comments
  4. Collection được tạo với trường content mặc định (không thể xóa)

Mẹo

Bạn có thể tạo nhiều Comment Collection cho nhiều mục đích khác nhau. Ví dụ: task_comments cho bình luận trên task, order_comments cho bình luận trên đơn hàng.

Bước 3: Liên kết với Collection chính

Để bình luận xuất hiện trên bản ghi, cần tạo quan hệ giữa collection chính và Comment Collection:

  1. Mở collection chính (ví dụ: orders)
  2. Thêm trường quan hệ hasMany hoặc belongsToMany trỏ đến Comment Collection
  3. Lưu cấu hình

Bước 4: Thêm block Comments trên giao diện

Trong trang chính (page)

  1. Vào trang cần hiển thị bình luận
  2. Nhấn Add block → Comment
  3. Chọn Comment Collection đã tạo
  4. Block bình luận xuất hiện trên trang

Trong popup chi tiết bản ghi

  1. Mở popup chi tiết bản ghi
  2. Nhấn Add block → Comment
  3. Hệ thống tự động lọc các Comment Collection có quan hệ association (hasMany, belongsToMany) với collection hiện tại
  4. Chọn Comment Collection phù hợp

Các thành phần giao diện

Comment Block

Block chính hiển thị danh sách bình luận và form nhập. Có thể cấu hình thông qua commentBlockSettings:

  • Vị trí hiển thị
  • Thứ tự sắp xếp (mới nhất trước/sau)

Comment Submit

Form nhập bình luận sử dụng MarkdownVditor — hỗ trợ:

  • Định dạng văn bản (bold, italic, heading...)
  • Chèn code block
  • Chèn link và hình ảnh
  • Preview trước khi gửi

Comment Item Actions

Mỗi bình luận có thể có các action:

ActionWidgetMô tả
SửaEditCommentActionWidgetChỉnh sửa nội dung bình luận của mình
XóaDeleteCommentActionWidgetXóa bình luận của mình
Trích dẫn trả lờiQuoteReplyActionWidgetTrích dẫn bình luận khác để trả lời

Comment Action Group

CommentActionGroupWidget nhóm các action lại, hiển thị dưới mỗi bình luận.

Phân quyền

  • Người dùng cần quyền xem bản ghi mới thấy được bình luận
  • Người dùng chỉ có thể sửa/xóa bình luận của chính mình
  • Admin có thể xóa bất kỳ bình luận nào
  • Quyền tạo bình luận phụ thuộc vào quyền create trên Comment Collection

Tùy chỉnh nâng cao

Thêm trường tùy chỉnh

Comment Collection hỗ trợ cấu hình bổ sung các trường:

  • title, name, inherits, category, description (từ configurableProperties)
  • Bạn có thể thêm trường tùy chỉnh khác như priority, type...

Preset fields

Comment Collection bật presetFieldsDisabled = true, nghĩa là các preset fields (createdBy, createdAt...) được tự động thêm nhưng không thể tắt.

Lưu ý

  • Nội dung bình luận sử dụng Markdown — hỗ trợ rich text đầy đủ
  • Xóa bản ghi gốc không tự động xóa bình luận (trừ khi cấu hình onDelete: CASCADE trên quan hệ)
  • Comment Collection không hỗ trợ tree/threaded natively (code parent-child đã bị comment out trong source), nhưng có thể mở rộng trong tương lai