Trong phần mở rộng mặc định của Joomla không hỗ trợ người dùng phần quản lý bình luận của người xem, vì thế component com_comment được tạo ra để thực hiện chức năng quản lý những ý kiến của người xem. Phần bình luận cũng là một phần quan trọng của một website điện tử.
Component com_comment thực hiện chức năng quản lý bình luận của người đọc. Tất cả bình luận phải được sự cho phép của quản trị viên mới được hiển thị cho người đọc.
Front–end: Chứa các tập tin được sử dụng cho việc thực hiện chức năng thêm bình luận và hiển thị bình luận.
• Addcomment.php: Có chức năng thêm một bình luận vào cơ sở dữ liệu.
• Checkcode.php: Kiểm tra mã bảo vệ. • Comment.js: Chứa các hàm javascript. • Security.php: Tạo ra mã bảo vệ.
Back – end: Chứa các tập tin làm việc với phần quản trị.
• admin.comment.html.php: Chứa giao diện quản lý của component • admin.comment.php: Chứa các hàm xử lý cho các sự kiện.
• com_comment.xml: Tập tin cấu hình cho component.
• install.comment.php: Hiển thị thông tin khi cài đặt mới component. • install.mysql.sql: Tạo cơ sở dữ liệu cho component.
• toolbar.comment.html.php: Giao diện của thanh công cụ.
• toolbar.comment.php: chứa hàm hiển thị giao diện công cụ component.
• uninstall.comment.php: Thông báo khi xoá bỏ component thành công. • uninstall.mysql.sql: Xoá bỏ cơ sở dữ liệu.
Component com_comment chỉ thực hiên chức năng quản lý bình luân. Người quản trị chỉ có quyền xem xét bình luận và quyết định có cho phép hiển thị bình luận hay không. Nếu những bình luận nào không thoả đáng sẽ bị xoá bỏ.
Tập tin toolbar.comment.html.php hiển thị thanh công cụ gồm các hàm: _EDIT(){}: Hàm hiển thị công cụ xoá một bình luận.
_DEFAULT(){}: Hàm hiển thị công cụ chi tiết và xoá bình luận.
Hình 8: Mô hình quan niệm dữ liệu của com_comment
Mô hình tổ chức dữ liệu:
Jos_comment (id, idarticle, name, email, title, content). Mô hình vật lý dữ liệu:
Tên thuộc tính
Kiểu dữ liệu Kích thước
Ràng buộc toàn vẹn Mô tả
id int 11 Khoá chính
idarticle int 11 Lookup(jos_articles) Khoá ngoại bảng jos_articles
name varchar 255 Tên người gửi
email varchar 100 Email người gửi
title varchar 255 Tiêu đề bình luận
Tập tin install.mysql.sql tạo bảng jos_comment trong cơ sở dữ liệu khi com_comment được cài đặt.
Tập tin uninstall.mysql.sql xoá bảng jos_comment trong cơ sở dữ liệu khi gỡ bỏ com_comment.
Tập tin admin.comment.php với các hàm:
changeAdvertising($state=0){}: Hàm bật tắt một bình luận, tham số
$state mặc định là 0 thực hiện nhiệm vụ tắt một quảng cáo, ngược lại thì bật quảng cáo.
removeComment($option){ }: Hàm xoá bình luận.
showComment($option){ }: Hàm hiển thị danh sách bình luận.
showDetailComment($option){}: Hàm hiển thị chi tiết một bình luận.
Chức năng của component com_comment chỉ là hiển thị danh sách bình luận, hiển thị chi tiết một bình luận và xoá bình luận.
Tập tin admin.comment.html.php hiển thị những giao diện trong quá trình xử lý của component.
showComment($option,$comment){}: Hàm hiển thị giao diện quản lý
các bình luận, tham số $comment chứa giá trị của một đối tượng bình luận. showDetailComment($option,$comments){}: Hàm hiển thị giao diện
chi tiết một bình luận.
Trong thư mục tables chứa tập tin comment.php tạo một lớp kế thừa từ lớp JTable để làm việc với cơ sở dữ liệu.
Các tập tin trong phần front–end:
Tập tin addcomment.php thêm bình luận vào cơ sở dữ liệu, các tham số sẽ được truyền bằng kĩ thuật ajax.
Tập tin security.php tạo mã an toàn. Mã an toàn là các số ngẫu nhiêu và trả về một tâp tin hình ảnh.
Tập tin checkcode.php kiêm tra mã an toàn trước khi thêm bình luận được thêm vào cơ sở dữ liệu, khi tạo ra mã an toàn thì chuỗi số sẽ được lưu vào biến
$_SESSION trong php. Khi người dùng nhập vào mã an toàn sẽ được so sánh với biến $_SESSION nếu đúng thì bình luận sẽ được thêm mới vào cơ sở dữ liệu.
Tập tin comment.js chứa các hàm xử lý dữ liệu trên form bình luận
checkcode(code,name,email,title,content,id){}: Hàm kiểm tra mã an toàn.
addcomment(name,email,title,content,id){}: Hàm thêm bình luận vào cơ sở dữ liệu
opencomment(){}: Hàm mở giao diện bình luận.
closecomment(){}: Hàm đóng bảng bình luận.
loadcode(){ }: Hàm nạp lại hình ảnh mã kiểm tra.
removetext(id){}: Hàm xoá dữ liệu của đối tương có thuộc tính id.
returntext(id){}: Hàm khôi phục dữ liệu mắc định của đối tượng có
thuộc tính id có giá trị bằng biến $id.
Để hiển thị giao diện cho phép người xem gửi ý kiến chúng ta cần thêm plugin comment, plugin này sẽ được hiển thị ở cuối những bài viết.
Giao diện gửi bình luân có dạng như hình 9:
Bình luận sẽ được hiển thị luôn trên plugin như hình 10:
PHẦN 3: CÀI ĐẶT WEBSITE TIN ĐIỆN TỬ 3.1. Cài đặt website trên hosting
Đăng kí một tên miền và một hosting để lưu trữ website. Sau khi đăng kí thành công chúng ta tiến hành upload gói cài đặt Joomla lên host.
Trong đề tài này sử dụng hosting miễn phí cung cấp bởi trang http://000webhost.com. Để đăng kí host miễn phí chúng ta truy cập vào http://www.000webhost.com/order.php nếu chưa có tên miền thì chúng ta có thể đăng kí một tên miền miễn phí. Ở đề tài này đã đăng kí tên miền miễn phí là http://tinnhanh.site11.com. Sau khi đăng kí thành công chúng ta đăng nhập vào trang quản lý hosting vừa mới tạo. http://members.000webhost.com/login.php.
Khi đăng nhập thành công để vào trang quản lý chúng ta chọn vào Go toCPanel như hình 11:
Hình 11: Giao diện đăng nhập control panel của hosting
Giao diện quản lý như hình 12:
Hình 12: Giao diện quản lý hosting
Chúng ta có thể sử dụng các chương trình như FileZilla, Windows Commander, LeapFTP… để upload dữ liệu lên hosting.
Để kết nối với hosting cần các thông tin sau: Host, username, password. Tài khoản FTP đã được gửi về mail mà chúng ta đăng kí hoặc chúng ta có thể vào View FTP Details như hình 13:
Hình 13: Quản lý Files trên hosting
Bảng thông tin tài khoản FTP như hình 14:
Hình 14: Chi tiết tài khoản FTP
Sau khi kết nối thành công chúng ta upload toàn bộ gói cài đặt của Joomla vào thư mục public_html. Chúng ta chỉ cần chọn thư mục cần upload (bên trái giao diện) lên hosting rồi kéo thả sang phần muôn upload đến (phần phải của giao diện).
Giao diện FileZilla khi kết nối thành công đến hosting như hình 15.
Hình 15: Giao diện phần mềm upload FileZilla
Sau khi upload thành công chúng ta truy cập http://tinnhanh.site11.com để tiến hành cài đặt.
Các bước cài đặt:
Bước 1: Chọn ngôn ngữ cài đặt hình 16.
Hình 16: Chọn ngôn ngữ cài đặt Joomla
Bước 2: Kiểm tra cấu hình server hình 17.
Bước 3: Thông tin bản quyền hình 18.
Hình 18: Các thông tin về bản quyền
Bước 4: Thiết lập các thông số để kết nối tới cơ sở dữ liệu như hình 19.
Hình 19: Thiết lập kết nối cơ sở dữ liệu
- Điền đầy đủ các thông tin sau:
- Chọn kiểu database: Mặc định chọn mysql. - Host name: Điền tên miền.
- Username : Tài khoản đăng nhập cơ sở dữ liệu. - Password: Mật khẩu đăng nhập cơ sở dữ liệu.
- Database name: Tên cơ sở dữ liệu, nếu chưa có Joomla sẽ tạo cơ sở dữ liệu.
Bước 5: Thiết lập các thông số FTP Tiếp tục chọn Next hình 20.
Hình 20: Thiết lập tài khoản FTP
Cấu hình phương thức truyền tải FTP. - FTP User : Tài khoản FTP. - FTP Password : Mật khẩu FTP.
- FTP Root Path: Đường dẫn gốc FTP: Vào Mục Account Information > Copy đường dẫn của Home Path hoặc Home Root > Dán vào FTP Root Path này > Next.
Bước 6: Thiết lập cấu hình cho website hình 21.
Hình 21: Thiết lập thông tin cần thiết cho website
Bước 7: Kết thúc cài đặt hình 22.
Xoá thư mục INSTALLATION trong thư mục chứa website.
Giao diện mặc định của Joomla như hình 23.
Hình 23: Giao diện mặc định của Joomla 3.2. Quản trị trong Joomla
Là trung tâm điều khiển của website Joomla. Dùng giao diện trang quản trị để xây dựng cấu trúc và biên tập, xuất bản nội dung. Trang quản trị được chia thành bốn vùng: Thanh menu, thanh công cụ, thanh thông tin, vùng làm việc. Để truy cập vào trang quản trị, đăng nhập bằng tài khoản người dùng với đặc quyền quản trị.
3.2.1. Đăng nhập trang quản trị
Cài đặt mới Joomla sẽ có một người dùng được cài. Người dùng (user) này được biết như là siêu quản trị viên (Super Administrator). Siêu quản trị viên có tên truy cập (login name) là “admin”. Chúng ta đã tạo một password cho siêu quản trị viên trong qua trình cài đặt Joomla. Vì lí do an ninh, chúng ta nên đổi tên truy cập và mật khẩu của siêu quản trị viên. Mỗi người dùng trong Joomla được gán vào một nhóm, hiện tại có ba nhóm người dùng với đặc quyền truy cập tới trang quản trị:
- Siêu quản trị viên (Super Administrator). - Quản trị viên (Administrator).
Giao diện đăng nhập trang quản trị hinh 24.
Hình 24: Giao diện đăng nhập
Giao diện trang quản trị hinh 25.
Hình 25: Giao diện quản lý website của Joomla 3.2.2. Thanh Menu
Thanh Menu được chia thành các phần: Trang chủ, trình đơn, nội dung, components, phần mở rộng, các công cụ, trợ giúp. Mỗi phần có thêm các menu con.
3.2.3. Thanh công cụ
Bật (Publish): Đây là biểu tượng để xuất bản category hoặc những item. Những khách thăm site sẽ thấy những item này trên website.
Tắt (Unpublish): Biểu tượng này sẽ thôi xuất bản một category hoặc item. Việc không xuất bản đôi tượng, nó sẽ không được hiển thị, nhưng không xóa category hay item. Để xóa một item, chon nó và click biểu tượng “Delete”.
Lưu trữ (Archive): Biểu tượng này chuyển một item vào Archive. Thêm mới (New): Biểu tượng này thêm một item, section, link, …
Sửa (Edit): Biểu tượng này chỉnh sửa một item đã được tạo trước đó. Phải chắc đã lựa chọn một item trước khi click biểu tượng này.
Xóa (Delete or Remove): Biểu tượng này xóa một category hay item trong website. Chú ý rằng tiến trình này không thể phục hồi được. Để xóa một item hay category tạm thời, click biểu tượng “Unpublish”.
Thùng rác (Trash): Biểu tượng này xóa một item và đặt nó vào quản lý rác (TrashManager). chúng ta có thể phục hồi những item đã bỏ vào thùng rác trở lại tình trạng trước đó.
Di chuyển (Move): Biểu tượng này di chuyển một item đến một section hay category mới.
Áp dụng (Apply): Biểu tượng này sẽ lưu nội dung mới hay những thay đổi nhưng trang vẫn mở để tiếp tục chỉnh sửa.
Lưu (Save): Biểu tượng này lưu nội dung mới của chúng ta hay những thay đổi cấu hình và quay trở lại trang trước.
Huỷ (Cancel): Biểu tượng này sẽ thôi tạo một trang hay thôi không lưu những thay đổi. Nên chúng ta phải dùng nút này và không được dùng nút back trên trình duyệt vì như vậy sẽ khóa item và những content manager khác khiến cho chúng ta không thể chỉnh sửa trang được nữa.
Xem trước (Preview): biểu tượng này dùng để xem, trong một cửa sổ pop- up, một cái nhìn trước của bất kì sự thay đổi nào chúng ta làm. Nếu trình duyệt của
chúng ta được cài khóa những cửa sổ pop-up hoặc chúng ta đang dùng phần mềm khóa pop-up, chúng ta cần đổi cài đặt hay vô hiệu phần mềm để xem trước.
Tải lên(Upload): biểu tượng này dùng để tải lên một tập tin hay ảnh đến website của chúng ta.
Hình 27: Thanh công cụ 3.2.4. Chủ đề (Section)
Chủ đề là các đề mục chính, khái quát nhất mà website muốn đề cập tới. Mỗi chủ đề sẽ có nhiều chủ đề con.
Tạo mới một chủ đề vào menu Nội dụng chọn Quản lý nhóm tin, tại giao diện quản lý nhóm tin chọn Thêm mới. thực hiện các bước theo hướng dẫn của hình 28.
Hình 28: Giao diện thêm mới chủ đề
Sau khi thực hiện xong chọn nút trên thanh công cụ để hoàn tất việc tạo mới một chủ đề.
3.2.5. Chủ đề con (Category)
Chủ đề con là cấp nhỏ hơn của chủ đề, bao gồm các loại sản phẩm, loại dịch vụ... được phân loại một cách cụ thể hơn theo từng chủ đề.
Tạo mới một chủ đề con vào menu Nội dụng chọn Quản lý chủ đề con, tại giao diện này chọn Thêm mới trên thanh công cụ ta có giao diện thêm mới như hình 29.
Hình 29: Giao diện thêm mới chủ đề con
Sau khi thực hiện xong chọn nút trên thanh công cụ để hoàn tất việc tạo mới một chủ đề con.
3.2.6. Bài viết (Article)
Bài viết là cấp thấp nhất, cũng là cấp cuối cùng để thể hiện nội dung của một website. Mỗi bài viết sẽ thuộc một chủ đề nhất định.
Tạo mới một bài viết vào menu Nội dung chọn Quản lý bài viết chọn Thêm mới trên thanh công cụ và thực hiện các bước như hình 30.
Hình 30: Giao diện thêm mới tin tức 3.2.7. Các thành phần mở rộng
Cài đặt các thành phần mở rộng (Template, component, module, plugin, language...), để cài đặt các thành phần mở rộng chúng ta vào trang quản trị chọn menu Phần mở rộng chọn Cài đặt/tháo gỡ giao diện xuất hiện. Chọn tập tin cần cài đặt sau đó chọn cài đặt.
Có 3 kiểu cài đặt khác nhau:
1. Upload từ máy tính của chúng ta. 2. Cài đặt từ một thư mục trên hosting.
Hình 31: Giao diện thêm mới hoặc xoá bỏ phần mở rộng
Muốn xoá bỏ các thành phần mở rộng chúng ta cũng chọn menu Phần mở rộng chọn Cài đặt/tháo gỡ, sau đó chọn thành phần cần tháo gỡ khỏi hệ thống như hình 32.
3.2.8. Phân quyền trong Joomla
Phân quyền trong Joomla được chia làm 2 nhóm. Phân quyền ở nhóm tiền sảnh (Front-end) và nhóm hậu sảnh (Back-end).
Phân quyền Joomla ở tiền sảnh (front-end) Joomla chia làm 5 nhóm người dùng tương ứng với 5 mức truy cập khác nhau:
- Guest (Khách): Là những người truy cập, sử dụng website nói chung, họ không sở hữu tài khoản nào trên hệ thống Joomla.
- Registered (Thành viên): Là khách sau khi đăng ký vào hệ thống Joomla và trở thành thành viên chính thức của hệ thống.
- Author (Tác giả): Là thành viên có quyền đăng bài hoặc đăng một vài thứ khác mà hệ thống cho phép (chẳng hạn như weblink). - Editor (Người biên soạn): Là thành viên có quyền đăng, kiểm
duyệt và chỉnh sửa tất cả các bài viết, cả những bài viết không phải của họ.
- Publisher (Người xuất bản): Là người biên soạn, ngoài ra có thêm quyền quyết định việc phát hành các bài viết (chính thức xuất bản lên website hay không).
Phân quyền Joomla ở hậu sảnh (back-end) Joomla chia làm 3 nhóm tài khoản với 3 mức độ quyền hạn khác nhau:
- Manager (Người quản lý): Là tài khoản có quyền thực hiện các thao tác quản lý cơ bản (quản lý menu, quản lý bài viết...).
- Administrator (Quản trị viên): Là tài khoản có quyền thực hiện mọi thao tác, trừ việc quản lý thông tin cấu hình hệ thống, quản lý giao diện, quản lý ngôn ngữ, quản lý các tài khoản siêu quản trị. - Super Administrator (Siêu quản trị viên): Là tài khoản có đặc
quyền cao nhất, có thể thực hiện mọi hành động.
3.2.9. Quản lý phương tiện/ quản lý tập tin
Để quản lý tài nguyên trong Joomla vào menu Trang web chọn Quản lý phương tiện hoặc tại bảng điều khiển chọn Quản lý phương tiện hình 33.
Hình 33: Giao diện quản lý Phương tiện
Tại giao diện này chúng ta có thể thêm mới hoặc xoá bỏ thư mục hay tập tin.
3.2.10. Quản lý Menu
Quản lý menu vào Trình đơn/Quản lý menu. Tại giao diện quản lý menu chúng ta có thể thêm xoá sửa các menu đang có.
Vào Thêm mới để tạo mới một menu như hình 34.
Tiêu đề module, mặc nhiên mỗi khi một menu được tạo ra thì Joomla cũng tạo thêm một module tương ứng với nó. Module này dùng để hiển thị menu trên trang web và được quản lý trong phần Quản lý Mô đun.
3.2.11. Quản lý danh mục menu