Bài thực hành joomla 3.4: Làm chức năng đăng bài cho thành viên

  • XiroWeb
  • 01 Tháng 7 2020

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

- Bài thực hành joomla 1.1: Thực hành tạo nội dung và cho phép người xem website xem nội dung bạn chỉ định

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