Trung tâm huy hiệu (勋章中心) theo cách Discuz! làm: quản trị tạo huy hiệu, trao cho thành viên từ trang cá nhân, huy hiệu
hiện trên hồ sơ và cạnh bài viết.
Tính năng
- Quản trị → Trung tâm huy hiệu: tạo, sửa, bật/tắt, xoá huy hiệu. Mỗi huy hiệu có tên, mô tả, biểu tượng (icon có
sẵn, emoji hoặc ảnh tải lên) và màu. - Trao từ hồ sơ thành viên: thẻ Huy hiệu bên cạnh danh sách bài viết có ô chọn huy hiệu, ghi chú lý do (không bắt
buộc) và nút Trao; mỗi huy hiệu đã có nút thu hồi. - Hồ sơ: liệt kê huy hiệu kèm ngày trao và ghi chú.
- Bài viết: tối đa N huy hiệu nhỏ cạnh dòng thời gian, rê chuột để xem tên và lý do.
- Trang
/medals: danh sách mọi huy hiệu đang bật, số người có, avatar những người mới nhận; liên kết ở thanh bên. - Thông báo cho thành viên khi được trao huy hiệu (có thể tắt trong tuỳ chọn plugin).
Quyền
- Quản trị viên luôn trao/thu hồi được.
- Điều hành viên chỉ trao được khi bật tuỳ chọn Cho phép điều hành viên trao huy hiệu.
- Thành viên thường chỉ xem.
An toàn dữ liệu
- Hai bảng:
plugin_tabre_medals_medal(định nghĩa huy hiệu) vàplugin_tabre_medals_award(mỗi lượt trao). - Khoá UNIQUE
(medal_id, user_id)nên bấm đúp hoặc hai request cùng lúc không trao hai lần; lần thứ hai nhận thông báo
“Thành viên này đã có huy hiệu đó rồi”. - Xoá huy hiệu xoá luôn các lượt trao của nó; thu hồi chỉ xoá đúng dòng được chọn.
- Mọi thay đổi là POST + CSRF; không sửa file lõi.
Cài đặt
Bật tại Quản trị → Plugin. Tuỳ chọn:
| Tuỳ chọn | Mặc định | Ý nghĩa |
|---|---|---|
| Show the medal center in the sidebar | Bật | Liên kết /medals ở thanh bên |
| Show medal icons beside posts | Bật | Hiện huy hiệu cạnh bài viết |
| Most medals beside one post | 3 | Giới hạn số huy hiệu cạnh một bài (0–8) |
| Let moderators award medals too | Tắt | Điều hành viên được trao/thu hồi |
| Notify the member when a medal is awarded | Bật | Gửi thông báo khi trao |
Ghi chú: trang /medals công khai, không cần đăng nhập; dữ liệu trao/thu hồi chỉ qua route POST có CSRF.