Phần này sẽ hướng dẫn để tạo chức năng đăng bài cho thành viên, qua phần hướng dẫn bạn hiểu được vai trò của tab Permissions xuất hiện ở rất nhiều nơi trong joomla.
Tổng thể các bước cần thực hiện
- Thêm Menu Item nối đến chức năng đăng bài lên website
- Tạo thêm Category và điều chỉnh thông số để thành viên gửi được bài viết vào Category bạn cho phép
- Tạo Menu Item cho Category
- Trên trang hồ sơ tài khoản của thành viên, bổ sung thêm module bài viết của bạn
Bước 1. Thêm Menu Item nối đến chức năng đăng bài lên website joomla
Ghi chú:
- Vì menu là hiển thị chỉ cho thành viên, nên bạn cần chọn Access là Registered để menu này chỉ xuất hiện khi thành viên đã đăng nhập
Tab Options như hướng dẫn bên dưới để sau khi thành viên đăng xong tin thì chuyển về lại trang Hồ sơ tài khoản. Hoặc sau khi bạn đã thực hiện bước 3 bên dưới, bạn có thể chỉnh lại để hệ thống chuyển thẳng tới Menu tương ứng luôn.
Sau khi tạo Menu item, trên trang Frontend, bạn đăng nhập thử bằng tài khoản thành viên bình thường (không phải tài khoản super admin), bạn thấy Menu và dòng thông báo như phía dưới là đã thành công ở bước 1
Bước 2: Tạo thêm Category và điều chỉnh thông số để thành viên gửi được bài viết vào Category bạn cho phép
Tạo một Category như bình thường bạn tạo,
Nhưng đặc biệt lưu ý ở tab Permissions, sẽ cần điều chỉnh thêm ở đây để cho phép thành viên bình thường đăng bài vào Category này
Lưu ý chọn field Access là Registered là để các bài viết trong Category này chỉ show cho thành viên đã đăng nhập. Nếu bạn muốn người chưa đăng nhập cũng xem được bài viết thì chọn Access là Public như mặc định.
Quan trọng: Thiết lập Permissions cho Category này
Permisstions là để bạn xác định những thao tác mà từng nhóm user thành viên có thể thực hiện được trên Category này. Trong trường hợp này chúng ta chỉ chú ý đến những thành viên đăng ký bình thường, mặc định là thuộc về nhóm Registered nên chúng ta sẽ tập trung cấu hình quyền cho nhóm user Registered , còn các nhóm khác cứ để mặc định.
Thiết lập và chọn các thông số như bên dưới. và sau đó hãy nhớ bấm nút SAVE
Sau khi bấm nút SAVE, hệ thống sẽ tính toán và hiển thị quyền đã được thiết lập cho nhóm tài khoản thuộc về Registered.
Nếu bạn chưa thấy như bên dưới, hãy chọn lại như các bước ở phía trên.
Giải thích các thông số:
- Create: quyền đăng, tạo nội dung vào Category này
- Delete: quyền xóa tất cả các bài viết không phân biệt có trong Category này
- Edit: quyền chỉnh tất cả các bài viết có trong Category này
- Edit State: quyền chỉnh sửa trạng thái tin đăng: Public, UnPublic
- Edit Own: quyền chỉnh sửa bài viết của mình
Allowed là cho phép, hoặc có quyền.
Sau khi thiết lập, (bạn đã đăng nhập thử bằng tài khoản thành viên bình thường (không phải tài khoản super admin)),vào lại menu Đăng tin, và ồ WAO, đã có form đăng tin như phía dưới
Bước 3: Tạo Menu Item cho Category
Nếu làm như trên thì bạn mới cho thành viên viết bài và đăng lên joomla, còn việc xem các vài viết trong Category thì chưa. Như những lần trước, bạn hãy tạo Menu Item cho Category này đi.
Xem lại bài viết:
- Tạo Menu Item cho Category Joomla hiển thị layout Blog với tiêu đề, hình ảnh, intro
Và kết quả sau khi đã tạo Menu Item và đăng thử tin
Đăng tin thử: sau khi viết bài và bấm SAVE bạn sẽ bị chuyển về trang chủ hoặc trang Hồ sơ tài khoản, không sao. Hãy bấm vào vào menu Bài của mem sẽ thấy tin đăng.
Bạn xem lại bước 2 lúc thiết lập menu Item ở tab Options để chỉnh lại chuyển hướng sau khi SAVE bài nha.
Bước 4: Trên trang hồ sơ tài khoản của thành viên, bổ sung thêm module bài viết của bạn
Việc này giúp cho mỗi thành viên sau khi đăng nhập thì thấy được bài viết của mình đã gửi lên.
Yêu cầu:
- Một module thể hiện các tin mà thành viên đó mới đăng
- Chỉ xuất hiện trên trang Hồ sơ tài khoản
Như chỉ dẫn trong các bài trước khi bổ sung module vào website
- Quan sát các điểm neo position trên giao diện bằng cú pháp ?tp=1 hoặc &tp=1. Quan sát vị trí và tên tương ứng của các postion nhé.
Lưu ý: trước khi xem được các position bạn cũng cần làm điều sau Adminstrator Menu >> Extensions >> Templates > Options > Preview Module Positions: Enable
Trên thanh địa chỉ của trình duyệt (chrome) bạn thêm đoạn mã này vào phía sau: ?tp=1 hoặc &tp=1
Ví dụ, trên website mà xiroweb thực hành vơi các bạn, sẽ thêm đầy đủ là https://xiroweb.joomla.com/?tp=1
Xem bài Bài thực hành joomla 1.2: Bổ sung Module để tạo sự tiện lợi cho khách xem site để rõ hơn
Chúng ta cùng quan sát các điểm neo posion trên trang Hồ sơ tài khoản
Sau khi quan sát điểm neo position, mình sẽ chọn position sidebar-a nằm ở bên tay trái để đưa module vào.
Và kết quả mong đợi
Tác giả
Nguyễn Tiến Dũng
Dustin Dũng có 15 năm kinh nghiệm làm việc với PHP, SQL, Đã thực hiện qua các dự án với Joomla!, Wordpress, Opencart, PrestaShop, Magento. Với Joomla!, Dustin Dũng có hơn 15 năm kinh nghiệm, từ Mambo, rồi Joomla 1.0 và bây giờ là Joomla! 5