111
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGH Ệ THÔNG TIN Tel. (84-511)3 736 949, Fax. (84-511) 842 771 Website: , E-mail: [email protected] LUẬN VĂN TỐT NGHIỆP KỸ S Ư NGÀNH CÔNG NGH Ệ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : TÌM HI ỂU CMS JOOMLA ỨNG DỤNG XÂY DỰNG SI ÊU THSÁCH TRỰC TUYẾN Mã s: 03T1-039 Ngày bảo vệ : 10 - 11/06/2008 SINH VIÊN : TRẦN VĂN VẼ LỚP : 03T1 CBHD : Ks. TRỊNH CÔNG DUY ĐÀ NẴNG, 05/2008

BaoCao Tot Nghiep QT Joomla

  • Upload
    dungx09

  • View
    1.980

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BaoCao Tot Nghiep QT Joomla

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TINTel. (84-511)3 736 949, Fax. (84-511) 842 771

Website: , E-mail: [email protected]

LUẬN VĂN TỐT NGHIỆP KỸ SƯNGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI :

TÌM HIỂU CMS JOOMLA

ỨNG DỤNG XÂY DỰNG SIÊU THỊ SÁCH TRỰC TUYẾN

Mã số : 03T1-039

Ngày bảo vệ : 10 - 11/06/2008

SINH VIÊN : TRẦN VĂN VẼLỚP : 03T1CBHD : Ks. TRỊNH CÔNG DUY

ĐÀ NẴNG, 05/2008

Page 2: BaoCao Tot Nghiep QT Joomla

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

…………………………………… …………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

…………………………………………………………………………………… …

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………… ……………………………………………

Page 3: BaoCao Tot Nghiep QT Joomla

NHẬN XÉT CỦA GIÁO VIÊN DUYỆT

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………… ……………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

Page 4: BaoCao Tot Nghiep QT Joomla

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ

thông tin cũng như các thầy cô giảng dạy trong trường Đại học Bách

khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho tôi trong

những năm học vừa qua.

Đặc biệt, tôi xin chân thành cảm ơn Thầy giáo Trịnh Công Duy

đã trực tiếp, tận tình giúp đỡ và hướng dẫn tôi trong suốt thời gian làm

đồ án tốt nghiệp.

Và để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình

đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá

trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.

Một lần nữa xin chân thành cám ơn!

Đà Nẵng, ngày 30 tháng 05 năm 2008

Sinh viên thực hiện:

Trần Văn Vẽ

Page 5: BaoCao Tot Nghiep QT Joomla

i

LỜI CAM ĐOAN

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự

hướng dẫn trực tiếp của của thầy giáo Ks.Trịnh Công Duy.

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ

ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian

trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên thực hiện:

Trần Văn Vẽ

Page 6: BaoCao Tot Nghiep QT Joomla

Mục lục ii

MỤC LỤC

MỞ ĐẦU ...........................................................................................................8I. Bối cảnh của đề tài................................ ................................ ................................ ..... 8

II. Lý do chọn đề tài ................................ ................................ ................................ ... 9

III. Mục tiêu cụ thể ................................ ................................ ................................ ...... 9

IV. Giải pháp công nghệ ................................ ................................ ............................ 10

V. Kết quả mong đợi ................................ ................................ ................................ 10V.1. Cập nhật thông tin hàng hóa trực tuyến nhanh chóng và chính xác. ........... 11V.2. Đặt hàng trực tuyến................................ ................................ ...................... 11V.3. Quản lý các đơn đặt hàng trực tuyến, hóa đơn, báo cáo .............................. 11V.4. Quản lý khách hàng ................................ ................................ ..................... 12

VI. Nội dung tóm tắt các chương tiếp theo................................ ................................ 12

CƠ SỞ LÝ THUYẾT .................................................................................... 13I. Tổng quan về CMS ................................ ................................ ................................ .. 13

I.1. Giới thiệu CMS ................................ ................................ ........................... 13I.2. Tính hướng đối tượng trong CMS ................................ ............................... 13I.3. Mô hình/cấu trúc CMS ................................ ................................ ................ 14I.4. Mô hình MVC ................................ ................................ ............................. 14I.4.1. Tầng lấy dữ liệu ................................ ................................ ....................... 14I.4.2. Tầng hiển thị ................................ ................................ ............................ 14I.4.3. Tầng điều khiển ................................ ................................ ....................... 15I.4.4. Nhân sự cho mô hình này ................................ ................................ ........ 15

II. Giới thiệu về Joomla ................................ ................................ ............................ 15II.1. Khái niệm Joomla ................................ ................................ ........................ 15II.2. Vài nét về lịch sử phát triển Joomla ................................ ............................ 16II.3. Các dòng phiên bản của Joomla ................................ ................................ .. 17II.4. Kiến trúc của Joomla ................................ ................................ ................... 17II.5. Đối với người sử dụng cuối ................................ ................................ ......... 18II.6. Ứng dụng của Joomla ................................ ................................ .................. 18

III. Một số khái niệm trong Joomla. ................................ ................................ .......... 19III.1. Front-end và Back-end ................................ ................................ ............ 19III.1.1. Front-end ................................ ................................ ................................ . 19III.1.2. Back-end ................................ ................................ ................................ .. 20III.2. Các thành phần mở rộng (Extension) ................................ ...................... 20III.2.1. Module ................................ ................................ ................................ ..... 20III.2.2. Component................................ ................................ ............................... 22III.2.3. Mambot ................................ ................................ ................................ .... 24III.2.4. Menu ................................ ................................ ................................ ........ 26III.3. Quản lý nội dung site ................................ ................................ ............... 26III.4. Template ................................ ................................ ................................ .. 28

IV. Quản trị trong Joomla ................................ ................................ .......................... 29

Page 7: BaoCao Tot Nghiep QT Joomla

Mục lục iii

IV.1. Tổng quan về phần quản trị ................................ ................................ ..... 29IV.2. Tạo một chủ đề mới (Section) ................................ ................................ . 34IV.3. Tạo một chuyên mục mới (Category) ................................ ...................... 34IV.4. Thêm một bài viết (Content Item) ................................ ........................... 34IV.5. Cài đặt Component ................................ ................................ .................. 35IV.6. Cài đặt Mambot ................................ ................................ ....................... 35IV.7. Cài đặt Module ................................ ................................ ........................ 35IV.8. Cài đặt Templates ................................ ................................ .................... 36IV.9. Vị trí các module trong template ................................ ............................. 36IV.10. Thêm một vị trí module vào template ................................ ..................... 39IV.11. Quản lý hình ảnh................................ ................................ ...................... 39IV.12. Quản lý người dùng (Users) ................................ ................................ .... 39IV.13. Thêm một liên hệ................................ ................................ ..................... 40IV.14. Thêm một module HTML ................................ ................................ ....... 40

V. Một số thủ thuật để tối ưu và bảo mật Joomla ................................ .................... 40V.1. Tăng tốc cho Joomla ................................ ................................ .................... 40V.2. Cải thiện các truy vấn SQL ................................ ................................ .......... 41V.3. Bảo vệ file Configuration.php khỏi các truy cập trái phép .......................... 43V.4. Bảo mật trang quản trị bằng mật khẩu ................................ ......................... 44

XÂY DỰNG ỨNG DỤNG SIÊU THỊ SÁCH TRỰC TUYẾN TRÊN CMSJOOMLA ....................................................................................................... 46

I. Môi trường và công cụ để phát triển ứng dụng ................................ ........................ 46

II. Cài đặt Joomla ................................ ................................ ................................ ..... 48

III. Việt hóa Joomla ................................ ................................ ................................ ... 53III.1. Tiến hành Việt hóa Joomla ................................ ................................ ...... 53III.2. Cài đặt gói ngôn ngữ cho Joomla ................................ ............................ 55III.3. Sử dụng JoomFish để xây dựng Website đa ngôn ngữ ............................ 56

IV. Thiết kế Template ................................ ................................ ................................ 65IV.1. Vị trí các module và component ................................ .............................. 65IV.2. Cấu trúc Template ................................ ................................ ................... 68IV.3. templateDetails.xml ................................ ................................ ................. 69IV.4. index.php ................................ ................................ ................................ . 71IV.5. template_css.css................................ ................................ ....................... 73IV.6. Cài đặt Template................................ ................................ ...................... 80

V. Component ................................ ................................ ................................ .......... 82V.1. Cấu trúc chung của một component ................................ ............................ 82V.2. yourcom.php và yourcom.html.php ................................ ............................. 83V.3. admin.yourcom.php và file admin.yourcom.html.php ................................ . 85V.4. toolbar.yourcom.php và toolbar.yourcom.html.php ................................ .... 85V.5. file.xml................................ ................................ ................................ ......... 86

VI. Thiết kế Modules danh mục sản phẩm ................................ ................................ 88VI.1. mod_list_product.xml ................................ ................................ .............. 88VI.2. mod_list_product.php ................................ ................................ .............. 90

TRIỂN KHAI ỨNG DỤNG ......................................................................... 93I. Cài đặt website trên web host ................................ ................................ .................. 93

Page 8: BaoCao Tot Nghiep QT Joomla

Mục lục iv

II. Kết quả demo ................................ ................................ ................................ ....... 96II.1. Trang chủ ................................ ................................ ................................ ..... 96II.2. Đăng nhập................................ ................................ ................................ .... 96II.3. Lựa chọn mục sản phẩm ................................ ................................ .............. 97II.4. Chọn sản phẩm vào giỏ hàng................................ ................................ ....... 97II.5. Gửi đơn hàng ................................ ................................ ............................... 98

KẾT LUẬN .................................................................................................... 99I. Kết quả thu được................................ ................................ ................................ ...... 99

II. Nhận xét................................ ................................ ................................ ............... 99II.1. Ưu điểm ................................ ................................ ................................ ....... 99II.2. Nhược điểm ................................ ................................ ............................... 100

III. Phạm vi ứng dụng ................................ ................................ .............................. 100

IV. Hướng phát triển ................................ ................................ ................................ 100

Page 9: BaoCao Tot Nghiep QT Joomla

Mục lục v

DANH MỤC HÌNH

Hình 1: Cấu trúc nội dung website Joomla ................................ ................................ ............. 27Hình 2:Nhóm người dùng và điều khiển truy cập ................................ ................................ ... 34Hình 3 : Vị trí của các Module ................................ ................................ ................................ 36Hình 4 : Vị trí của các module mặc định tr ên Joomla ................................ ............................. 37Hình 5: Xem nhanh vị trí các module................................ ................................ ...................... 38Hình 6 : Các gói cài đặt XAMPP ................................ ................................ ............................ 47Hình 7 : Các phiên bản Joomla................................ ................................ ................................ 47Hình 8 : Các gói phiên bản Joomla 1.0 ................................ ................................ ................... 47Hình 9 :Khởi động XAMPP ................................ ................................ ................................ .... 48Hình 10 : Vào phpMyAdmin ................................ ................................ ................................ ... 48Hình 11 : Trang mặc định của phpMyAdmin ................................ ................................ .......... 49Hình 12 : Tạo cơ sở dữ liệu mới ................................ ................................ .............................. 49Hình 13 : Bắt đầu cài đặt Joomla................................ ................................ ............................. 49Hình 14 : Giấy phép sử dụng Joomla ................................ ................................ ...................... 50Hình 15 : Thông tin kết nối cơ sở dữ liệu................................ ................................ ................ 50Hình 16 : Thông báo xác nhận lại thông tin ................................ ................................ ............ 50Hình 17 : Đặt tên Site ................................ ................................ ................................ .............. 51Hình 18 : Cấu hình url, path, thông tin admin ................................ ................................ ......... 51Hình 19 : Cài đặt thành công ................................ ................................ ................................ ... 52Hình 20 : Cài đặt JoomFish ................................ ................................ ................................ ..... 56Hình 21 : Màn hình JoomFish ................................ ................................ ................................ . 56Hình 22 : Cài đặt ngôn ngữ ................................ ................................ ................................ ..... 57Hình 23 : Kiểm tra ngôn ngữ ................................ ................................ ................................ ... 57Hình 24 : Danh mục ngôn ngữ ................................ ................................ ................................ 57Hình 25 : Quản lý ngôn ngữ ................................ ................................ ................................ .... 58Hình 26 : Quản lý ngôn ngữ ................................ ................................ ................................ .... 58Hình 27 : Kích hoạt ngôn ngữ ................................ ................................ ................................ . 59Hình 28 : Kích hoạt ngôn ngữ ................................ ................................ ................................ . 60Hình 29 : Thứ tự ngôn ngữ ................................ ................................ ................................ ...... 60Hình 30 : Lưu ngôn ngữ ................................ ................................ ................................ .......... 60Hình 31 : Điều chỉnh chuẩn ngôn ngữ ................................ ................................ ..................... 62Hình 32 : Chọn hiển thị module chọn ngôn ngữ ................................ ................................ ..... 63Hình 33 : Dịch bài viết và thành phần trong Joomla ................................ ............................... 64Hình 34 : Mặc định trong JoomFish ................................ ................................ ........................ 65Hình 35 : Vị trí module và component mà joomla cung cấp................................ ................... 66Hình 36 : Danh sách vị trí module và component ................................ ................................ ... 66Hình 37 : Vị trí module và component ................................ ................................ .................... 67Hình 38 : Đoạn mã tạo vị trí module và component ................................ ............................... 68Hình 39 : Tập các file của template ................................ ................................ ......................... 69Hình 40 : Thành phần CSS mặc định của Joomla ................................ ................................ ... 74Hình 41 : Cài đặt Front end template ................................ ................................ ...................... 81Hình 42 : Cài đặt Front end template 1 ................................ ................................ ................... 81Hình 43 : Danh mục các template ................................ ................................ ........................... 82Hình 44 : Thanh công cụ của Joomla ................................ ................................ ...................... 85Hình 45 : Phần quản lý host................................ ................................ ................................ ..... 93

Page 10: BaoCao Tot Nghiep QT Joomla

Mục lục vi

Hình 46 : Tạo cơ sở dữ liệu mới ................................ ................................ .............................. 93Hình 47 : Tạo user mới ................................ ................................ ................................ ............ 94Hình 48 : Add user vào cơ sở dữ liệu ................................ ................................ ...................... 94Hình 49 : Database ứng với user ................................ ................................ ............................. 95Hình 50 : Phần quản lý host................................ ................................ ................................ ..... 95Hình 51 : Trang chủ website................................ ................................ ................................ .... 96Hình 52 : Thành viên đăng nhập ................................ ................................ ............................. 96Hình 53 : Danh mục lựa chọn sản phẩm ................................ ................................ ................. 97Hình 54 : Giỏ hàng ................................ ................................ ................................ .................. 98Hình 55 : Nội quy mua hàng................................ ................................ ................................ .... 98Hình 56 : Gửi đơn hàng ................................ ................................ ................................ ........... 98

Page 11: BaoCao Tot Nghiep QT Joomla
Page 12: BaoCao Tot Nghiep QT Joomla

Trần Văn Vẽ-03T1 8

MỞ ĐẦU

I. Bối cảnh của đề tài

Ngày nay, thông tin đã và đang dần chuyển hướng phát triển của mình sang các

dịch vụ Web. Một trong những dịch vụ người người ta khá quan tâm là Thương mại

Điện tử. Dịch vụ này giúp những bận rộn, thường xuyên làm việc trong các phòng

máy, phòng thí nghiệm…có thể tiết kiệm được thời gian đi mua sắm để tập trung v ào

công việc của mình.

Nhờ Thương mại Điện tử, chỉ cần vài thao tác đơn giản trên máy tính có kết nối với

Internet, bạn sẽ có tận tay những thứ m ình cần mà không phải đi đâu cả. Bạn chỉ cần

vào các trang dịch vụ Thương mại Điện tử là có thể mua bất cứ thứ gì, nhân viên dịch

vụ sẽ mang đến tận nhà cho bạn. Việc thanh toán cũng thật dễ dàng, có thể gián tiếp

qua các hệ thống ngân hàng hoặc trực tiếp nếu bạn muốn. Vậy, thực chất của Thương

mại Điện tử là như thế nào?

Để tìm hiểu mô hình hoạt động cũng như quá trình xây dựng một ứng dụng có tính

chất thương mại trực tuyến, tôi xin g iới thiệu đề tài “Tìm hiểu CMS Joomla, ứng dụng

để xây dựng siêu thị sách trực tuyến” là đề tài nghiên cứu cho Đồ án tốt nghiệp này.

Mặc dù ứng dụng đã triển khai được phần lớn các yêu cầu chính mà một ứng dụng

Thương mại Điện tử cần đáp ứng , tuy nhiên với thời gian hạn chế, việc tìm hiểu và xây

dựng một ứng dụng trên công nghệ Joomla là khá khó khăn. Do đó, ứng dụng này

không tránh khỏi những thiếu sót, rất mong nhận được nhiều ý kiến nhận xét quý báu

của quý thầy cô và các bạn để tôi có thể rút kinh nghiệ m cho việc xây dựng những ứng

dụng thực tế sau này.

Page 13: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla. Ứng dụng xây dựng si êu thị sách trực tuyến

Trần Văn Vẽ-03T1 9

II. Lý do chọn đề tài

Trong thời đại phát triển bùng nổ của Công nghệ thông tin(CNTT) v à quan hệ hợp

tác toàn cầu phát triển mạnh mẽ, nhất là khi Việt Nam đã trở thành thành viên chính

thức của WTO, việc áp dụng tính chuyên nghiệp và các mô hình quản lý sản xuất -

kinh doanh chuyên nghiệp - hiện đại thông qua mô hình “Tin học hoá doanh nghiệp”

để theo kịp sự phát triển của x ã hội là yếu tố cần thiết, đẩy mạnh sự phát triển của

doanh nghiệp và giúp cho doanh nghiệp gặt hái được nhiều thành công trong môi

trường sản xuất - kinh doanh năng động và đang thay đổi nhanh chóng như hiện nay.

Thương mại điện tử là một trong những vấn đề nóng bỏng, mặc d ù khái niệm này

đã khá quen thuộc với nhiều người Việt Nam, song những dịch vụ tiện lợi này trên

thực tế vẫn còn chưa phổ biến. Chính vì vậy, tôi chọn đề tài này với mong muốn tự

trang bị cho mình những hiểu biết chung về thương mại điện tử, kỹ năng và phương

pháp xây dựng và phát triển các ứng dụng thương mại điện tử, góp một phần nhỏ trong

bước chuyển mình của dịch vụ này.

III. Mục tiêu cụ thể

Nắm được cơ sở lý thuyết chung về thương mại điện tử và các vấn đề liên quan

đến thương mại điện tử.

Tìm hiểu các Website thương mại điện tử lớn đã được triển khai để nắm được

cách thức hoạt động và những yêu cầu cần thiết đối với ứng dụng th ương mại

điện tử.

Xác định đối tượng khách hàng mà mình hướng tới để phục vụ.

Lựa chọn giải pháp công nghệ thích hợp cho việc xây dựng và phát triển ứng

dụng đã chọn.

Tìm hiểu về CMS Joomla và những tính năng của nó.

Page 14: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla. Ứng dụng xây dựng si êu thị sách trực tuyến

Trần Văn Vẽ-03T1 10

Xây dựng ứng dụng thương mại điện tử dựa trên nền tảng CMS Joomla có thể

đáp ứng được nhu cầu của đối tượng phục vụ.

Tính toán, đưa ra phương pháp và k ế hoạch thực hiện dự án trong thời gian

ngắn nhất và chi phí thấp nhất có thể.

IV. Giải pháp công nghệ

Sử dụng nền tảng là Joomla, Joomla! cung cấp 1 nền tảng ứng dụng mạnh mẽ tạo

điều kiện thuận lợi cho các lập tr ình viên thiết kế ra các add-ons nhằm mở rộng sức

mạnh của Joomla nhắm đáp ứng tối đa nhu cầu của doanh nghiệp.

Hệ thống thương mại điện tử tích hợp

Hệ thống kiểm soát hàng hoá

Công cụ báo cáo dữ liệu

Danh mục hàng hoá

Các thư mục kinh doanh phức tạp

Công tự hỗ trợ giao tiếp

Cầu nối ứng dụng

V. Kết quả mong đợi

Dựa trên nền tảng công nghệ Web phát triển nhiều năm qua, tôi đã nghiên cứu và

phát triển hệ thống quản trị nội dung website th ương mại điện tử Online

SuperMarket với đầy đủ các tính năng ưu việt đảm bảo có thể cung cấp đầy đủ, ho àn

chỉnh các chức năng mạnh mẽ, hỗ trợ cho việc thực hiện th ương mại điện tử trực tuyến

cho các siêu thị, các nhà sách lớn trong nước.

Qua hệ thống website thương mại điện tử này, các doanh nghiệp có thể được sở hữu

một hệ thống quản trị website hoàn hảo và dễ dàng sử dụng mà không cần qua đào tạo,

Page 15: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla. Ứng dụng xây dựng si êu thị sách trực tuyến

Trần Văn Vẽ-03T1 11

không cần phải biết về thiết kế và lập trình website bạn cũng có thể quản trị và xuất

bản website một cách xuất sắc.

Những tính năng chính mà hệ thống Online SuperMarket cung cấp:

V.1. Cập nhật thông tin hàng hóa trực tuyến nhanh chóngvà chính xác.

Không giới hạn chủng loại sản phẩm

Không giới hạn số lượng sản phẩm

Thiết kế theo cấu trúc Section - Category - Content

Cấu trúc sản phẩm Section - Category – Products

Hổ trợ nhiều ngôn ngữ, dễ dàng cài đặt thêm ngôn ngữ

Hổ trợ nhiều template, cho phép thay đổi giao diện để hấp dẫ n người dùng

Hổ trợ nhiều loại tiền tệ

Bạn dễ dàng cập nhật và thường xuyên thay đổi những hình ảnh, thông tin chi

tiết, giá cả các mặt hàng mà bạn kinh doanh bất cứ lúc nào.

V.2. Đặt hàng trực tuyếnKhách hàng của bạn có thể tìm kiếm và lựa chọn sản phẩm thêm hoặc bớt vào giỏ

hàng( Shopping Cart). Nhân viên phục vụ của siêu thị sẽ mang hàng đến tận nơi theo

đơn đặt hàng của khách hàng và thực hiện các thủ tục thanh toán.

V.3. Quản lý các đơn đặt hàng trực tuyến, hóa đơn, báo cáoHệ thống quản lý, lưu trữ và báo cáo các thông tin về đặt hàng và trạng thái của đơn

hàng: đã giao hàng chưa, chờ thanh toán hay đã thanh toán đơn hàng.

Page 16: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla. Ứng dụng xây dựng si êu thị sách trực tuyến

Trần Văn Vẽ-03T1 12

V.4. Quản lý khách hàng

Tất cả các các đơn đặt hàng đượclưu trữ vào CSDL giúp dễ dàng truy xuất khi

cần thiết.

Khách hàng có thể xem các đơn đặt hàng của họ và trạng thái đơn đặt

hàng(order tracking)

Khách hàng có thể quản lý và thay đổi tài khoản của họ.

Quản lý giỏ hàng tạm dành cho khách hàng chưa là thành viên và giỏ hàng

giành cho khách hàng là thành viên.

Giỏ hàng lưu trữ thông tin hàng hóa khách hàng đã chọn để hiển thị lần sau khi

khách hàng đăng nhập.

Công cụ tìm kiếm nhanh dễ sử dụng và có nhiều phương thức tìm kiếm chi tiết.

Danh sách sản phẩm bán chạy - Sản phẩm mới.

Hệ thống tương thích hầu hết với các trình duyệt.

Tự động hiển thị những sản phẩm mới, sản phẩm khuyến m ãi, đặc biệt.

Tự động hiển thị trạng thái sản phẩm còn hay hết để khách hàng có thể tiếp tục

đặt hàng.

Khách hàng có thể đăng kí hoặc bỏ đăng kí nhận email về thông ti n sản phẩm

của công ty thông qua hệ thống newsletters.

VI. Nội dung tóm tắt các chương tiếp theo

Chương I: Cơ sở lý thuyết

Chương II: Xây dựng ứng dụng siêu thị sách trực tuyến trên CMS Joomla

Chương III: Triển khai ứng dụng

Chương IV: Kết luận

Page 17: BaoCao Tot Nghiep QT Joomla

13

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT

I. Tổng quan về CMS

I.1. Giới thiệu CMSChúng ta có thể hình dung CMS như là một hệ điều hành trên máy tính, ngh ĩa là

CMS được sử dụng làm nền tảng để chạy những ứng dụng khác .

Ngoài ra, CMS giống như một thư viện, nó cung cấp những hàm, lớp cơ bản để

những người phát triển web khác có thể sử dụng, t ùy biến, chỉnh sửa để CMS thành

một trang web phục vụ đúng nhu cầu của mình.

I.2. Tính hướng đối tượng trong CMSTrong giới hạn của báo cáo này, mặc dù rất muốn nhưng tôi không thể trình bày chi

tiết về lập trình hướng đối tượng. Trong lập trình web PHP, tư tưởng hướng đối tượng

chỉ mới được áp dụng trong PHP5, như vậy nghĩa là chúng ta hoàn toàn có thể xây

dựng một ứng dụng PHP theo phương pháp hướng đối tượng để có thể tối ưu nhất hệ

thống mình xây dựng.

Trong CMS, tư tưởng này cũng mới được áp dụng. Với một dự án lớn như Joomla,

việc sử dụng các phương thức cài đặt truyền thống thì thực sự quá khó, nếu không

muốn nói là không thể thực hiện được. Chính vì vậy, khi làm việc với Joomla, xây

dựng bất kỳ một ứng dụng cụ thể nào, chúng ta đều phải có kiến thức sâu về lập tr ình

hướng đối tượng để có thể áp dụng mang lại hiệu quả cao.

Page 18: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 14

Trần Văn Vẽ, Lớp 03T1 14

I.3. Mô hình/cấu trúc CMSTrong CMS, thì ngoài độ rộng của API, cái dễ phân biệt v à đánh giá một CMS, có

lẽ là cấu trúc của nó. Nói tới cấu trúc của CMS, chúng ta không phải nói tới nó chạy

như thế nào, mà chính là những cái chạy trên nền CMS đó được chạy như thế nào.

Thực tế thì không riêng CMS, mà trên Programing nói chung, đ ều có những cấu trúc

được phát minh sẵn, và công việc của mình là biến lý thuyết thành hiện thực thôi.

Nói như vậy, cái chúng ta cần làm là phải hỗ trợ tối đa để những người phát triển

CMS của chúng ta có thể hiểu, và sử dụng tốt cái cấu trúc chúng ta hướng tới.

I.4. Mô hình MVCMô hình MVC chuyên môn hóa cho những công việc khác nhau trong thiết kế phần

mềm cũng như trong thiết kế web.

Chia công việc thành 3 phần:

Lấy dữ liệu (tầng core – gọi tắt là core)

Hiển thị dữ liệu (tầng view – gọi tắt là view)

Điều khiển (tầng controller – gọi tắt là controller)

I.4.1. Tầng lấy dữ liệu

Phụ trách nhiệm vụ xử lý dữ liệu từ user hoặc từ database.

Biến các dữ liệu thô (chưa qua xử lí cơ bản) thành dữ liệu có thể sử dụng được

Bao gồm cả phần sao lưu dữ liệu

I.4.2. Tầng hiển thị

Phụ trách việc hiển thị dữ liệu để giao tiếp với người sử dụng

Biến các dữ liệu đã xử lý thành trang web đã hiển thị

Page 19: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 15

Trần Văn Vẽ, Lớp 03T1 15

I.4.3. Tầng điều khiển

Phụ trách việc liên hệ giữa 2 tầng trên: tầng dữ liệu và tầng hiển thị

Tầng điều khiển cho tầng dữ liệu biết cần lấy những dữ liệu g ì, cho tầng hiển

thị biết cần phải hiển thị phần nào. Chi tiết mỗi tầng dữ liệu và tầng hiển thị do

tầng đó chịu trách nhiệm, tầng điều khiển chỉ có nhiệm vụ kết nối v à ra lệnh

bao quát.

I.4.4. Nhân sự cho mô hình này

Tầng core: người am hiểu về database, làm việc trực tiếp tới database, hiểu biết

về security ở tầng thấp

Tầng view: thường là web-design

Tầng controller: thường là những người vẽ ra con đường tổng quát, không cần

biết sâu tới core or view, nhưng có khả năng linh hoạt sử dụng 2 bên. Đây

thường là người viết mã chính cho dự án.

Chú ý:

Khi nói về người viết các tầng, thường thì controller làm việc trực tiếp với cả

core và view. Còn core và view thì không làm vi ệc trực tiếp với nhau, mà thông

qua controller, và chỉ làm việc với controller.

Khi nói về người viết CMS, nếu viết theo mô hình này, chúng ta phải cung cấp

cho web-developer những class, function sao cho họ có thể áp dụng mô h ình

MVC được dễ dàng hơn, và tốt hơn

II. Giới thiệu về Joomla

II.1. Khái niệm JoomlaJoomla! là một hệ quản trị nội dung mã nguồn mở(Content Management System –

CMS). Joomla! được viết bằng ngôn ngữ PHP v à kết nối tới cơ sở dữ liệu MySQL,

Page 20: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 16

Trần Văn Vẽ, Lớp 03T1 16

cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc

Intranet.

Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển

thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn

đàn, bình chọn, lịch biểu, tìm kiếm trong site và hỗ trợ đa ngôn ngữ. Joomla được phát

âm theo tiếng Swahili như là jumla nghĩa là "đồng tâm hiệp lực".

Joomla! được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho

tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ

và ứng dụng. Joomla có thể dễ d àng cài đặt, dễ dàng quản lý và có độ tin cậy

cao.Joomla là sản phẩm mã nguồn mở do đó việc sử dụng Joomla l à hoàn toàn miễn

phí cho tất cả mọi người trên thế giới.

II.2. Vài nét về lịch sử phát triển JoomlaJoomla là "sản phẩm anh em" với Mambo của tập đo àn Miro Software Solutions -

Úc (hãng đang nắm giữ Mambo) với những người phát triển nòng cốt. Ban đầu công

ty Miro đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng. Đến tháng 4 năm

2001, công ty đã thông qua một chính sách bản quyền kép, nghĩa l à phát hành Mambo

theo cả giấy phép GPL.

Đến ngày 17 tháng 8 năm 2005, do s ự tranh chấp về mặt pháp lý cũng nh ư mong

muốn vào sự phát triển của Mambo dựa trên quỹ tài trợ và sự hỗ trợ của cộng đồng

nên toàn bộ đội phát triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làm

việc với phiên bản 4.5.3.

Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software Freedom Law

Center - SFLC), 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức phi

lợi nhuận khác lấy tên là Open Source Matters, đ ể hỗ trợ về mặt tổ chức, pháp lý v à

kinh phí cho dự án mã nguồn mở còn chưa được đặt tên của họ. Ngay ngày hôm sau,

1000 người đã gia nhập diễn đàn OpenSourceMatters, hầu hết các bài viết cho diễn

Page 21: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 17

Trần Văn Vẽ, Lớp 03T1 17

đàn đều khuyến khích và đồng tình với hành động của Nhóm Phát triển. Tin tr ên đã

nhanh chóng được đăng tải trên các tạp chí newsforge.com, eweek.com và ZDnet.com.

Trong một thông báo của Eddie (người đứng đầu dự án) 2 tuần sau đó, các nhóm đ ã

được tổ chức lại và cộng đồng Joomla tiếp tục tăng tr ưởng. Tới ngày 1 tháng 9 năm

2005 tên mới của dự án đã được thông báo cho khoảng 3000 ng ười theo dõi đội Phát

triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla 1.0.

II.3. Các dòng phiên bản của JoomlaHiện nay Joomla có 2 dòng, dòng 1.0.x đã ổn định và phù hợp để các bạn thực hiện

các website của mình. Dòng 1.5 đang phát triển tới phiên bản beta, chỉ phù hợp để

test,chưa phù hợp để làm website chính thức.

Dòng phiên bản 1.0.x :Phiên bản đầu tiên của Joomla là phiên bản Joomla! 1.0

(hay Joomla! 1.0.0) có nguồn gốc từ Mambo 4.5.2.3 (đã bao gồm thêm nhiều

bản vá bảo mật và sửa lỗi).Các phiên bản tiếp theo có dạng 1.0.x . Điểm mạnh

của Joomla 1.0.x: Có một số lượng rất lớn các thành phần mở rộng (module,

component ) thành phần nhúng (mambot), giao diện (template).

Dòng phiên bản 1.5x : Phiên bản Joomla! 1.5 là phiên bản cải tiến từ Joomla

1.0.x (phần mã được viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử như

cũ). Joomla 1.5 tiếp tục duy trì một giao diện người sử dụng đơn giản (nhìn và

cảm nhận - look and feel). Joomla! 1.5 hỗ trợ đa ngôn ngữ bằng cách sử dụng

file định dạng ".ini" để lưu các thông tin chuyển đổi ngôn ngữ. Joomla 1.5 hỗ

trợ tất cả các ngôn ngữ có tập ký tự được biểu diễn bằng bảng mã UTF-8. Điểm

mạnh của Joomla 1.5: Phần quản trị Website có sử dụng công nghệ Web 2.0,

một số tính năng được cải tiến hơn so với Joomla 1.0.x.

II.4. Kiến trúc của JoomlaJoomla gồm có 3 tầng hệ thống:

Page 22: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 18

Trần Văn Vẽ, Lớp 03T1 18

Tầng dưới cùng là mức nền tảng, chứa các thư viện và các plugin (còn được

biết với tên gọi mambot).

Tầng thứ hai là mức ứng dụng và chứa lớp JApplication. Hiện tại tầng n ày gồm

3 lớp con: JInstallation, JAdministrator v à JSite.

Tầng thứ ba là mức mở rộng. Tại tầng này có các thành phần (component), mô

đun (module) và giao diện (template) được thực thi và thể hiện.

II.5. Đối với người sử dụng cuốiViệc cài đặt Joomla! khá dễ dàng và nhanh chóng, thậm chí cả đối với những lập

trình viên nghiệp dư. Joomla có một cộng đồng người sử dụng và phát triển rất lớn và

tăng trưởng không ngừng. Các thành viên và các lập trình viên rất nhiệt tình và sẵn

sàng tư vấn, giúp đỡ khi người sử dụng gặp khó khăn.

Joomla cung cấp giao diện web trực quan do vậy khá dễ d àng để thêm một nội dung

mới hay một mục mới, quản lý các phòng ban, danh mục nghề nghiệp, ảnh các sản

phẩm... và tạo không giới hạn số phần, mục, chuy ên mục cũng như các nội dung của

Website.

Hiện tại ở Việt Nam chúng ta, cộng đồng Joomla đ ã và đang phát triển mạnh mẽ tại

diễn đàn.

Code:

http://www.joomlaviet.org

Tại đây bạn có thể tìm kiếm những thông tin về cài đặt, phát triển Joomla cũng như

nêu lên những ý kiến thắc mắc hoặc yêu cầu của mình để được giúp đỡ.

II.6. Ứng dụng của JoomlaJoomla! đã được sử dụng trên khắp thế giới, đã được ứng dụng vào xây dựng các

website từ đơn giản như website cá nhân tới các ứng dụng website phức tạp. Sau đây

là 1 số ứng dụng có thể được xây dựng bằng Joomla !

Page 23: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 19

Trần Văn Vẽ, Lớp 03T1 19

Trang web của các tổ chức hoặc các cổng thông tin ( Portal )

Thương mại điện tử

Trang web cho các công ty cỡ nhỏ

Ứng dụng cho các cơ quan hành chính

Trang web cho các trường học và nhà thờ

Trang web cá nhân và gia đ ình

Các cổng thông tin cộng đồng

Trang web báo điện tử và tạp chí

và nhiều ứng dụng khác nữa...

III. Một số khái niệm trong Joomla.

Lần đầu tiên khi tiếp xúc với Joomla! nhiều người luôn cảm thấy rằng có điều g ì đó

khó hiểu ở Joomla! khiến cho việc tiếp cận với nó thật khó khăn. Đó chính l à do các

khái niệm và thuật ngữ khác lạ của Joomla!, mà thật ra nó cũng chẳng khác lạ gì mấy

so với các hệ thống quản trị nội dung (CMS: Content management System) khác.

Phần này sẽ trình bày các khái niệm cơ bản trong Joomla!

III.1. Front-end và Back-end

III.1.1. Front-end

Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần giao diện

phía ngoài, nơi tiếp xúc với mọi người sử dụng. Bất cứ ai cũng có thể trông thấy khi

gõ đúng đường dẫn URL vào trình duyệt.

Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ.

Page 24: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 20

Trần Văn Vẽ, Lớp 03T1 20

III.1.2. Back-end

Back-end, còn được biết với tên gọi Public Back-end, Administrator, Control Pane:

phần dành cho người quản trị. Những người bình thường không biết đường dẫn để truy

cập, hoặc nếu có biết th ì cũng phải qua bước kiểm tra tài khoản.

Phần back-end được truy cập thông qua đường dẫn:

http://your_domain/administrator.

III.2. Các thành phần mở rộng (Extension)

III.2.1. Module

Module là một trong 3 thành phần mở rộng chính của Joomla! Đó l à một đoạn mã

nhỏ thường được dùng để truy vấn các thông tin từ c ơ sở dữ liệu và hiển thị các kết

quả tìm được. Nó có thể được nạp vào một vị trí bất kỳ trên template (vị trí left, right,

top, bottom... hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trang

của Website hay một số trang được ấn định. Khả năng tương tác giữa người sử dụng

và hệ thống thông qua module là hạn chế (chúng ta thường chỉ nhận thông tin trả về).

Modules thường được dùng để hiển thị những thông tin khác nhau v à/hoặc những

tính năng tương tác trong toàn b ộ site Joomla của bạn. Một Module có thể chứa hầu

như bất kì thứ gì từ những văn bản đơn giản,đến HTML, đến những ứng dụng hoàn

toàn độc lập của các hãng thứ ba. Những Module cũng có thể hiển thị nội dung t ương

tác, như các poll (thăm dò ý kiến), những tagboard, tin mới nhất, tin khẩn v à nhiều

nữa.

Các Site Module khác với các Administrator Module bở i vì chúng hiển thị những

nội dung trong Front-end của site trong khi nhưng Admini Module liên quan đ ến các

tác vụ và/hoặc những tính năng khác nhau của Administrative (hoặc Back -end). Các

Module có thể được tạo bởi bạn (costom/user module) hay đ ược tải về và cài đặt.

Quản lý cac module luôn luôn lằm trong Administrator (Admin Seciton). V ào

Modules \ Module Manager trên thanh Menu. Ở đó bạn có thể cài đặt/tháo bỏ một

Page 25: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 21

Trần Văn Vẽ, Lớp 03T1 21

module và chỉnh sửa nhứng cấy h ình phổ biến như là: tên, những trang nó xuất hiện,

vùng đặt nó, và cấp độ truy cập. Từ danh sách chọn module bạn muốn cấu h ình.

Module Manager là bộ đầu tiên thiết đặt hiển thị số lượng chính xác module. Tận

cuối danh sách ban có thể thấy một chức năng tổ chức trang, n ơi cho phép bạn điều

hướng đến bộ cài đặt kế tiếp của các module trong danh sách. Bạn cũng có thể c ài đặt

số module được hiển thị trên một trang băng các chọn số trên hộp chọn đổ xuống trên

góc trên phải màn hình. Ở đây bạn có thể tìm thấy một danh sách của tất cả bộ thiết lập

mặc đinh site module khi cài đặt Joomla. Mỗi cái quy chiếu đến một loại module cụ

thể được định từ trước. Dưới những tiêu đề danh sách cụ thể được hiển thị những trạng

thái của nhưng Module được cài đặt trên hệ thống.

Những Module được xác đinh bằng môt kểu (ví dụ mod_mainmenu). Nhiều thể

hiện của cùng một module có thẻ được tạo ra bằng cách chép môt loại module cụ thể,

cho nó một tiêu đề khác và các thông số khác theo nhu cầu của bạn. Bạn có thể tạo

một module tùy thích với một loại “User” bằng cách click v ào biểu tượng “New”. Đây

là một mudule rất hữu dụng mà bạn thường tạo một Content (content n ày không liên

quan gì đến các Section, Category hay Static Content Item) hay RSS feed. Nó cũng

được dùng như một hộp văn bản hay môt module ảnh hay thậm chí bao gồm code t ùy

biến.

Những Site Module sau được gói cùng với Joomla : Những tiêu đề cho mỗi module

là tiêu đề mặc định trong phiên bản Joomla. Những tiêu đề này có thể được đổi tên

hoặc dịch cho hợp với nhu cầu của bạn.

+ Archive – kho lưu

+ Latest News – tin mới

+ Login Form – biểu mẫu login

+ Main Menu – menu chính

Page 26: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 22

Trần Văn Vẽ, Lớp 03T1 22

+ Popular – ưa chuộng

+ Newsflash – tin khẩn

+ Who's Online – ai trong mạng

+ Polls – thăm dò ý kiến

+ Random Image – hình ảnh ngẫu nhiên

+ Related Items – mục liên quan

+ Syndicate – đăng tin

+ Sections – phân loại

+ Statistics – thống kê

+ User (Custom & RSS Feeds)

+ Template Chooser – chọn template

+ Wrapper – trình bao bọc

III.2.2. Component

Các Component là những thành phần nội dung đặc biệt hay những ứng dụng.

Joomla bao gồm một số nhân component và hỗ trợ khả năng tự tăng cường tính năng

với component của các hãng thư ba. Những component được gắn sẵn, cai bao gồm

trong Joomla, là một phần của tính năng nhân. Bạn sẽ t ìm thấy những compnent của

hãng thứ ba tại Joomla Forge cũng nh ư tại rất nhiều nhà phát triển thứ ba và những

site cộng đồng. Cấu hình và trợ giúp thêm thường được cung cấp với kèm với chính

component. Những component là mô phỏng tự nhiên, điềunày làm nó có khả năng

tăng cường các chức năng của Joomla trong bất k ì hoàn cảnh nào. Một component đặc

trưng giống như Menu item. Những visitor và/hay những user có thể thấy nội dung của

Page 27: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 23

Trần Văn Vẽ, Lớp 03T1 23

component bằng cách click vào liên kết của Menu item này. Nó thường được hiển thị

trong vùng nội dung chính của site.

Những component được bao gồm với Joomla là :

+ Banners – ô quảng cáo

+ Contacts – Liên hệ

+ Newsfeeds – điểm tin

+ Polls – thăm dò

+ Web Links – liên kết web

Banner Component – Ô quảng cáo: Component này cho phép bạn hiển thị những

banner (hộp quản cáo) kế tiếp nhau trên site. Nó cũng cho bạn một vài chức năng cao

cấp như quản lý những điểm nhấn và những mã tùy thích.

Banner Manager – quản lý Banner: Trong phần này, bạn điều khiển những

banner thực sự. Có những quảng cáo đồ họa hay thông điệp xuất hiện tại phần định

trước trên site Joomla.

Banner Client Manager – Quản lý Quảng cáo của Khách h àng: Phần này cho

phép bạn cài đặt những trương mục cho những khách hàng mà bạn đang dành cho họ

quyền được đạt banner vào.

CHÚ Ý : Những banner Flash có thể dụng đ ược với Joomla Banner Component.

Để biết thêm về quản lý khách hàng có banner, click vào liên kết Help Screen này.

Contact Manager Component – Quản lý Liên hệ : Contact Manager component

cung cấp cho bạn khả năng quản lý một danh sách các li ên hệ cho site của bạn. Nhưng

visitor có thể tìm bạn hoặc những thông tin về tổ chức của bạn bao gồm t ên, địa chỉ

thư, số điện thoại và số fax. Họ có thể liên lạc với bạn hặc tổ chức của bạn bằng cách

Page 28: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 24

Trần Văn Vẽ, Lớp 03T1 24

điền vào biểu mẫu liên hệ đơn giản và lick biểu tượng “Send”. Bạn có thể có nhiều

hơn một contact item.

Newsfeed Component – (điểm tin): Những Newsfeed là cách dùng chuntg tin tức

giữa các site khác nhau. Ngày càng nhiều những nhà cung cấp content chia sẻ một

phần content của họ qua những RSS newsfeed. Cách thức chia sẻ n ày có nghĩa là tạo

một tin vắn giới thiệu theo nhà cung cấp muốn và thường có một liên kết đến website

của nhà cung cấp.

Newsflash Component – tin khẩn: Một Newsflash là một thông điệp động được

hiển thị trên site của bạn. Nó thường hiển thị trong một text box (hộp văn bản) để thu

hút sự chú ý trên Frontpage của bạn. Nó cho những visitor một mẩu tin nhỏ, nh ư

những tin quan trọng. Bạn có thể có một hay nhiều Newsflash item.

Poll Component – thăm dò ý kiến : Component này cho phép bạn quản lý và tạo

các poll (cuộc thăm dò ý kiến) khác nhau cho những visitor của bạn. Những câu hỏi

bạn hỏi có thể hữu dụng cho những thông tin có mục đích.

Web Links Component – liên kết Web: Web Links component là một bộ sưu tập

những liên kết như những liên kết yêu thích, liên kết Joomla!, hoặc bất cứ g ì mà bạn

thích. Component được thiết kế có khả năng đếm số lần click v ào mỗi liên kết và

những user đã đăng kí có thể đệ trình những liên kết mới từ Front-end.

III.2.3. Mambot

Mambots là những đơn vị mã chức năng hỗ trợ những hoạt động của Joomla.

Chúng có nhiều mục đích và những chức năng khác nhau và được nhóm lại để quản lý

dễ dàng hơn. Ví dụ, có nhiều Mambot chỉ hoạt động trong những content item, những

cái khác được cung cấp tính năng t ìm kiếm v.v. Trong một vài nhóm, một số Mambot

có thể được publish một lần, trong khi n hững cái khác (vi dụ như WYSIWYG editor –

trình soạn thảo trực quan) chỉ một cái đ ược kích hoạt.

Page 29: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 25

Trần Văn Vẽ, Lớp 03T1 25

Thứ tự trong một vài nhóm là rất quan trọng, ví dụ như, trong nhóm content, đầu

tiên phải là Image Replacement Mambot – thay thế ảnh (mosimage) (ở đầu danh sác h),

và sau đó là Pagination Mambot – tổ chức trang (mospaging).

Danh sách sau đây phác thảo những mambot sẵn dùng trong những nhóm khác

nhau:

Content Mambots – những mambot về nôi dung: Chúng điển hình thay thế phần

nào tốc kí {tag} vơi thông tin khác.

MOS Image - ảnh: Đây là một Image placement Mambot – mambot sắp đặt ảnh.

Những thẻ tag {mosimage} được thay với ảnh mà bạn đã chọn khi tạo và/hoặc sửa một

content item. Mambot này dành cho nh ững người thích làm việc không dùng

WYSIWYG Editor (trình soạn thảo trực quan) như một cách thuận tiện để chèn các

ảnh vào content item. Những người khác dùng WYSIWYG Editor, vẫn thích dùng

mambot này hơn để chèn các ảnh vào thay vì chèn một biểu tượng ảnh trong

WYSIWYG Editor.

Code Support – mã hỗ trợ : Mã hỗ trợ Mambot trả lại bất kì đoạn văn bản nào

trong một cặp của thẻ tag {moscode} … m ã … {/moscode} như mã PHP.

SEF:Search Engine Friendly Mambot (công ngh ệ tìm kiêm thân thiện) tạo những

liên kết trong content tương thích với SEF được cài đặt hỗ trợ. Nó hoạt động trực t iếp

trên HTML trong item và không đ òi hỏi một thẻ tag đặc biệt.

MOS Rating – đánh giá : Mambot này cung cấp để bỏ phiếu/đánh giá những

content item.

Email Cloaking – che dấu email: Mambot này viết lại tất cả các địa chỉ email với

một content item để che dấu (“cloak”) chúng khỏi spambot không được chào đón.

MOS Pagination – tổ chức trang : Mambot này ngắt những content item thành

nhiều trang và ráp lại thành một bảng những content.

Page 30: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 26

Trần Văn Vẽ, Lớp 03T1 26

Search Mambots – những mambot tìm kiếm: Những Search Mambot thêm khả

năng để tìm kiến tất cả những component khác nhau của Joomla.

Editor Mambots – nhưng mambot soạn thảo : Những Editor Mambot cung cấp

hỗ trợ để có thể cài đặt những WYSIWYG editor. Bạn cũng có thể chọn để thôi

activate bất kì WYSIWYG editor nào, trả lại cho bạn với một vùng soạn thảo HTML

tiêu chuẩn.

Editor Extension Mambots – những mambot soạn thảo mở rộng : Những Editor

Extension Mambot cho phép những điều khiển cộng thêm được bao gồm để chỉnh sửa

content. Ví dụ, những biểu tượng được đặt trong hay dưới trình soạn thảo để chèn

những thẻ tag {mosimage} và {mospaging} vào content của bạn

III.2.4. Menu

Joomla! có rất nhiều kiểu Menu, mỗi Menu sẽ là một trang hiển thị có nội dung v à

cách trình bày theo nhiều kiểu khác nhau.

Các Menu này được quản lý theo mã số ID nên có thể thay đổi tên và vị trí mà ảnh

hưởng đến nội dung, địa chỉ liên kết của chúng.

Joomla! cho phép lựa chọn và quyết định Menu nào làm Trang chủ (Home) là trang

sẽ xuất hiện đầu tiên khi truy cập vào địa chỉ của trang Web.

Tất cả các thành phần, nội dung,... trong Joomla! đều có thể cho phép hiển thị hay

không hiển thị (sử dụng hay không sử dụng) thông qua chức năng Publish hay

Unpublish.

Tất cả các thành phần mở rộng đều được cài đặt thêm hoặc gỡ bỏ thông qua các

Menu lệnh trong Joomla!

III.3. Quản lý nội dung siteQuản lý nội dung Web Site, trong Joomla! có 3 cấp quản lý nội dung:

Page 31: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 27

Trần Văn Vẽ, Lớp 03T1 27

Trước khi đi vào xây dựng một Website bằng Joomla chúng ta cần nắm r õ 3 khái

niệm quan trọng: Section, Category và Content. Vậy Section là gì? Category là gì?

Content là gì?.

Chúng ta cùng xem "Cấu trúc nội dung của một Website Joomla" đ ược thể hiện

thông qua hình vẽ dưới đây:

Hình 1: Cấu trúc nội dung website JoomlaSection 1

--------|Category 1a

--------|Category 1c

--------|Category 1b

Section 2

--------|Category 2a

--------|Category 2b

--------------------|Content 2b1

--------------------|Content 2b2

Section: Là cấp quản lý nội dung lớn nhất, chứa các Category. Có thể tạo nhiều

Section và mỗi Section có thể chứa nhiều Category.

Category: Là cấp quản lý nội dung nhỏ hơn Section, chứa Content Item. Có

thể tạo nhiều Category và mỗi Category có thể chứa nhiều Co ntent Item.

Page 32: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 28

Trần Văn Vẽ, Lớp 03T1 28

Content Item (Article): Là phần nội dung, chứa các văn bản v à hình ảnh được

hiển thị trên trang Web.

Các cấp quản lý nội dung đều được quản lý theo mã số ID nên có thể thay đổi tên

mà ảnh hưởng đến nội dung, địa chỉ liên kết của chúng.

Như vậy để tạo một bài viết chúng ta cần qua tối đa 3 b ước và tối thiểu là 1 bước

nếu đã co Section và Category

Bước 1: Tạo Section: Vào Content --> Section Manage

Bước 2: Tạo Category: Vào Content --> Category Manager

Bước 3: Tạo Content: Vào Content --> Article Manager --> New

III.4. Template

Template là một loạt các file trong Joomla CMS m à được sử dụng để điều khiển

cách thức hiển thị nội dung. Template không phải l à một web site, nó không được coi

là một thiết kế trang web đầy đủ.

Template là một thiết kế nền tảng cơ bản cho việc hiển thị web site. Để tạo ra

hiệu ứng của một trang web hoàn chỉnh Template làm việc cùng với nội dung được cất

giữ trong cơ sở dữ liệu.

Các file của một template phải được đặt trong thư mục /templates trong thư mục

cài đặt của Joomla. Nếu ta có 2 template đã được cài đặt thì thư mục của chúng ta sẽ

trông giống như sau :

/templates/mytemp1

/templates/mytemp2

Một Template thường gồm các thành phần cơ bản sau: Phần khung giao diện

(index.php), phần thiết đặt hển thị (template_css.css), phần c ài đặt

(templateDetails.xml) , ngoài ra có th ể có các file khác như các folder, các file .js, file

ảnh... tùy thuộc vào độ phức tạp Template này và mức độ bạn hiểu.

Page 33: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 29

Trần Văn Vẽ, Lớp 03T1 29

Có 2 files mà tên của chúng cũng như vị trí phải được đặt một cách chính xác và

chúng được gọi là các kịch bản lõi của Joomla (Joomla core script)

/JS_Smoothportal/templateDetails.xml

/JS_Smoothportal/index.php

templateDetails.xml : Thông báo cho trình cài đặt các file sẽ được dùng

cho template này. Nó còn diễn giải các thông tin khác như tác giả , bản quyền.

index.php là file quan trọng nhất , nó nói cho Joomla biết n ơi đặt các

Components, Modules. Nó là sự kết hợp của PHP và (X)html.

Trong hầu hết các template có thêm các thành phần bổ xung,đây là các thành

phần quy ước (không yêu cầu bởi lõi của Joomla) chúng có tên và được đặt ở vị trí

sau:

/JS_Smoothportal/template_thumbnail.png

/JS_Smoothportal/css/template_css.css

/JS_Smoothportal/images/ logo.png

template_thumbnail.png là hình ch ụp giao diện của template th ường có

kích thước 140 pixels chiều rộng và 90 pixels chiều cao, file này được sử dụng

cho chức năng xem trước (Preview) .

css/template_css.css vị trí của thư mục CSS là tùy chọn nhưng bạn phải chỉ

rõ nó ở đâu. Chú ý rằng tên của file chỉ quan trọng trong các tham chiếu ở trong

file index.php và bạn nên đặt tên như bạn thích.

Image/logo.png đây là 1 file ảnh bất kì đại diện cho một công ty, những

thiết kế thường đặt nó trong thư mục image và thường đặt tên là logo.png .

IV. Quản trị trong Joomla

IV.1. Tổng quan về phần quản trịJoomla Administration – Quản trị Joomla:Là trung tâm điều khiển của website

Joomla. Dùng giao diện tao nhã của Admin Section để xây dựng cấu trúc v à biên tập,

xuất bản nội dung. Admin Section đ ược chia thành bốn vùng : Menubar – thanh menu,

Toolbar – thanh công cụ, Infobar – thanh thông tin, Workspace – vùng làm việc. Để

Page 34: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 30

Trần Văn Vẽ, Lớp 03T1 30

truy cập vào vùng Administration, đăng nh ập (log in) bằng tìa khoản người dùng với

đặc quyền quản trị (administrative).

Administrator Login – Đăng nhập Quản trị viên :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à Super Administrator

(siêu quản trị viên). Super Administrator có tên truy c ập (login name) là “admin”. Bạn

sẽ tạo một password cho Super Administrator trong qua tr ình cài đặt Joomla. Vì lí do

an ninh, bạn nên đổi tên truy cập và password của Super Administrator. 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 Administrator Back -end : Super Administrator, Administrator, và

Manager. Chức năng của mỗi nhóm được giảng giải dưới đây :

Super Administrator – siêu quản trị : Super Administrator Group truy c ập vào tất

cả các chức năng Back-en (Administrator). Site của bạn phải có tối thiểu một ng ười

được bổ nhiệm là một Super Administrator để thực hiện Gl obal Configuration (câu

hình tổng thể) của site. Những người dùng trong nhóm này không thể xóa và không

thể chuyển đổi sang nhóm khác.

Administrator- Quản trị viên: Nhóm quản trị có một hạn chế nhỏ khi truy cập v ào

các chức năng Back-end (Administrator). Administrator không thể :

Thêm hay sửa một người dùng trong nhóm SuperAdministrator.

Truy cập các cài đặt Global Configuration.

Truy cập chức năng Mass Mail.

Quản lý/cài đặt các Template.

Quản lý/cài đặt các file language (ngôn ngữ).

Manager – Quản lý: Nhóm quản lý có tham số hầu hết, có ý nghĩa trong việc tạo

nội dung. Một người trong nhóm này, có thêm một số giới hạn so với một

Administrator, Manager không th ể :

Page 35: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 31

Trần Văn Vẽ, Lớp 03T1 31

Quản lý các User.

Cài dặt các Module.

Cài đặt các Component.

Truy cập một số Component ( được xác định bởi Super Administrator).

Menubar – Thanh Menu: Thanh Menu được chia thành mười phần: Home (trang

chủ), Site, Menu, Content (nội dung), Components, Modules, Mambots, Installers (c ài

đặt), Messages (thông điệp), System (hệ thống) v à Help (trợ giúp). Mỗi phần có một

menu đổ xuông phụ thuộc. Thanh menu l à trung tâm điều hướng trong Admin Section.

Workspace – không gian làm việc : Workspace là một vùng nằm ngay dưới

Menubar và Toolbar hiển thị những điều khiển cho mục menu đ ược chọn hiện tại.

workspace cập nhật khi bạn lựa chọn một menu hay d ùng một công cụ từ toolbar, cài

đặt mặc định là Control Panel (bảng điều khiển).

Control Panel – bản điều khiển : Bên trái của Control Panel hiện những biểu

tượng cho những mục nội dung quản lý chính : B ên phải của Control Panel hiện những

thẻ tab truy cập những menu của component đ ã cài đặt, một danh sách các content

item được ưa chuộng, thông tin về những item mới nhất th êm vào hệ thống (bao gồm

tiêu đề, ngày, và tác giả), và menu statistics (thống kê menu). Tất cả những biểu tượng

và dòng văn bản trên Control Panel đều có thể click và sẽ đưa các điều kiển của mục

chọn vào Workspace.

Toolbar Icons – Các biểu tượng Toolbar :

Publish (xuất bản) : Đây là biểu tượng để xuất bản category hoặc những

item. Những khách thăm site có những item này trên site.

Unpublish (thôi xuất bản): biểu tượng vày sẽ thôi xuất bản một category

hoặc item. Việc không xuất bản sẽ xóa item khỏi trang xem công cộng,

Page 36: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 32

Trần Văn Vẽ, Lớp 03T1 32

nhưng không xóa category hay item. Đ ể xóa một item, chon nó và click biểu

tượng “Delete”.

Archive: (kho lưu) : biểu tượng này chuyển một intem vào Archive.

New: (tạo mới): biểu tượng này thêm một item, section, link, v.v.

Edit:(chỉnh sửa): 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.

Delete or Remove: (xóa): biểu tượng này xóa một category hay item trong

site của bạn. Chú ý rằng tiến tr ình này không thể phục hồi được. Để xóa một

item hay category tam thời, click biểu tượng “Unpubish”.

Trash: (thùng rác): biểu tượng này xóa một item và đặt nó vào Trash

Manager (quản lý rác). Ghi chú: bạn có thể phục hồi những item đ ã đổ đi trở

lại tình trạng trước đó. Đơn giản vào Trash Manager dưới menu Site.

Move: (di chuyển): biểu tượng này di chuyển một item đến một Section ha y

Category mới.

Apply: (áp dụng): 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.

Save (lưu): biểu tượng này lưu nội dung mới của bạn hay những thay đổi cấu

hình và quay trở lại trang trước.

Cancel (thôi) : 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. Chú ý: Nếu ban muốn thôi tạo hay chỉnh sửa bạn phải d ùng

nút này và không dược dùng nút back trên trình duyệt vài như vầy sẽ khóa

item và những content manager khác không thể chỉnh sủa trang được.

Preview: (xem trước): 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 bạn làm. Nếu trình duyệt

Page 37: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 33

Trần Văn Vẽ, Lớp 03T1 33

của bạn được cài khóa những của sổ pop-up hoặc bạn đang dùng phần mềm

khóa pop-up, bạn cần đổi cài đặt hay vô hiệu phần mềm để xem tr ước.

Upload: (tải lên): biểu tượng này dùng để tải lên một file hay ảnh đến web

site của bạn.

CHÚ Ý : Nếu bạn muốn thôi tạo hay chỉnh sửa, bạn phải d ùng nút này và

không dùng nút back của trình duyệt để ngăn chăn khóa “Checking Out”

trang của bạn và ngăn cản người khác chỉnh sửa nó. Khi d ùng những

component hoạt động thay thế của hãng thứ 3 có thể gán cho một số biểu

tượng này.

User Groups và Access Control – những nhóm người dùng và điểu khiển truy

cập: Joomla có hai hệ thống phân cấp nhóm người dùng (user group) chính: một để

truy cập Frontend (vì những user có thể log in và web site và xem những phần hay

trang được chỉ định) và một cho truy cập Back-end Administrator. Các nhóm đư ợc

cung cấp mặc định là :

Public Front-end (mặt trước dùng chung)

| - Registered (đã đăng kí)

| - - Author (tác giả)

| - - - Editor (người biên tập)

| - - - - Publisher (người xuất bản)

Public Back-end (mặt sau dùng chung)

| - Manager (người quan lý)

| - - Administrator (người quản trị)

| - - - Super Administrator (siêu quản trị)

Page 38: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 34

Trần Văn Vẽ, Lớp 03T1 34

Hình 2:Nhóm người dùng và điều khiển truy cập

IV.2. Tạo một chủ đề mới (Section) Mở menu Content -> Section Manager

Một danh sách các Section (Chủ đề) sẽ hiện ra, nhấn v ào biểu tượng New để

tạo Section mới của bạn.

Điền các thông tin cần thiết như: Title (tiêu đề), Section Name (Tên),

Description (Mô tả chi tiết) ... Nhấn nút Save để l ưu lại

IV.3. Tạo một chuyên mục mới (Category) Mở menu Content -> Category Manager

Một danh sách các Category (chuyên mục) sẽ xuất hiện. Nhấn vào biểu tượng

New để tạo Category mới của bạn.

Lựa chọn Section của Category v à điền các thông số cần thiết.

Nhấn nút Save để lưu lại

IV.4. Thêm một bài viết (Content Item) Mở menu Content -> chọn Article Manager

Nhấp nút New để tạo bài viết mới

Page 39: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 35

Trần Văn Vẽ, Lớp 03T1 35

Điền các thông tin bài viết

Nhấp nút Save để lưu lại

Mở website để xem kết quả

IV.5. Cài đặt Component Mở menu "Installers" --> "Components"

Nhấn vào nút [Browser...] để chọn Component (được đóng gói trong một file

nén *.zip)

Nhấn vào nút [Upload File & Instal l] để cài đặt component

Nhấn link 'Continue...' để kết thúc quá tr ình cài đặt

IV.6. Cài đặt Mambot Mở menu Installer -> Mambots

Nhấn vào nút [Browser...] để chọn Mambot (được đóng gói trong một file nén

*.zip)

Nhấn vào nút [Upload File & Install] để tiến hành cài đặt

Nhấn vào link 'Continue...' để kết thúc quá trình cài đặt. Joomla! sẽ chuyển

hướng đến trang quản lý Mambot.

IV.7. Cài đặt Module Mở menu Installer -> Modules

Nhấn nút [Browser...] để chọn Module (được đóng gói trong một file nén *.zip)

Nhấn nút [Upload File & Install] để cài đặt Module

Nếu Joomla! thông báo việc cài đặt thành công, nhấn nút [Continue...] để tới

trang quản lý các Module

Page 40: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 36

Trần Văn Vẽ, Lớp 03T1 36

IV.8. Cài đặt Templates

Mở menu Installers -> Templates – Site

Nhấn lên nút [Browse...], chọn template mà bạn vừa download (được đóng gói

trong một file zip hoặg gz) sau đó nhấn l ên nút [Upload file & Install]

Chờ Joomla thông báo việc cài đặt thành công rồi nhấn vào Continue...

Thiết lập template mới cài đặt thành template mặc định

Mở menu Site -> Templates Manager -> Site Templates, chọn template mới cài

đặt rồi nhấn vào nút [Default]

IV.9. Vị trí các module trong templateMột trong những tính năng quan trọng của Joomla l à cho phép thay đổi vị trí của

các module.

Mỗi template đều định nghĩa sẵn một số vị trí nhất định. Template mặ c định của

Joomla 1.5 có tất cả 10 vị trí (breadcrumb, debug, left, right, syndicate, top, user1,

user2, user3 và user4). Do vậy bạn có thể chuyển một module bất kỳ tới 1 trong các vị

trí trên (menu Extensions >> Module Manager >> Module XYZ >> Position)

Hình 3 : Vị trí của các Module

Page 41: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 37

Trần Văn Vẽ, Lớp 03T1 37

Lưu ý: Một vị trí có thể có nhiều module v à một module cũng có thể cùng lúc có

nằm ở nhiều vị trí bằng cách nhân bản (copy) chúng ra th ành nhiều bản.

Vị trí của các module được đặt trên template mặc định của Joomla 1.5 như sau:

Hình 4 : Vị trí của các module mặc định tr ên Joomla

Page 42: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 38

Trần Văn Vẽ, Lớp 03T1 38

Để có thể xem nhanh các vị trí m à template của bạn hỗ trợ chỉ cần thêm "?tp=1"

vào phía sau địa chỉ Website của bạn.

VD: http://vinaora.com/joomla?tp=1

Hình 5: Xem nhanh vị trí các module

Page 43: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 39

Trần Văn Vẽ, Lớp 03T1 39

IV.10.Thêm một vị trí module vào templateMở file chứa template của bạn chẳng hạn "\templates\vinaora\index.php", xác

định chỗ mà bạn muốn thêm một vị trí module mới và đặt vào đoạn mã sau:

<?php if (mosCountModules('vinaora_new_position')>0) { ?>

<?php mosLoadModules('vinaora_new_position', -2); ?>

<?php } ?>

Trong đó tham số thứ hai của hàm mosLoadModules là một trong 5 số nguyên: 1 =

horizontal, 0 = normal, -1 = raw, -2 = XHTML và -3 = extra divs.

IV.11.Quản lý hình ảnh Vào menu Site -> Media Manager

Để tạo thêm một thư mục: Gõ tên vào ô "Files" và nhấn nút "Create Folder"

Để upload ảnh: Chọn thư mục chứa ảnh >> Nhấn nút [Browser...] >> chọn ảnh

muốn upload >> nhấn nút [Start Upload]

Có 2 chế độ duyệt ảnh: "Thumbnail View" và "Detail View"

IV.12.Quản lý người dùng (Users)Mở menu "Site" > "User Manager"

1. Thêm một User

Trong phần quản lý User, nhấn nút [New]

Điền các thông số về User mới (t ên thật, tên đăng nhập, email, mật khẩu, nhóm)

Nhấn nút [Save] để lưu lại

2. Chỉnh sửa một User

Chọn một User và nhấn nút [Edit]

Thay đổi các thông số và nhấn nút [Save]

3. Xóa một User

Page 44: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 40

Trần Văn Vẽ, Lớp 03T1 40

Chọn User cần xóa và nhấn nút [Delete]

IV.13.Thêm một liên hệ Mở menu Component -> Contacts -> Contacts

nút [New] để tạo một liên hệ (Contact) mới

Điền tên, chọn nhóm (category), và điền các thông tin khác

Tùy chỉnh các tham số ở mục "Parameters" bên tay phải

Nhấn nút [Save] để lưu lại

Mở website để xem kết quả

IV.14.Thêm một module HTML Vào menu Extensions -> Module Manager

nút [New] để tạo module HTML

Chọn kiểu module là "Custom HTML" rồi nhấn nút [Next]

Điền các thông số và chọn vị trí cho module

Gõ nội dung cho module HTML vào ô "Custom Output"

Nhấn nút [Save] để lưu lại

Mở website để xem kết quả

V. Một số thủ thuật để tối ưu và bảo mật Joomla

V.1. Tăng tốc cho Joomla1. Bật tính năng GZIP.

GZIP là một tính năng dùng để nén các thông tin xuất ra

Bạn phải chắc chắn Server có hỗ trợ GZIP. V ào menu System --> System Info

--> PHP Info để kiểm tra.

Page 45: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 41

Trần Văn Vẽ, Lớp 03T1 41

Để bật GZIP, vào menu Site --> Global Configuration --> tab Server --> chọn

GZIP Page Compression

2. Bật tính năng CACHE hệ thống.

Vào menu Site --> Cache --> chọn Caching.

Chọn Cache Folder - nơi lưu tữ các file cache (nhớ CHMOD sang 777)

Chọn Cache Time: Thời gian lưu trữ các file cache (mặc định là 900" = 15').

Lưu ý đây mởi chỉ là cache của các bài viết

3. Bật tính năng CACHE cho các module.

Chúng ta có rất nhiều module cho phép sử dụng tính năng cache, tuy nhi ên

chúng lại bị tắt theo chế độ mặc định v à ít bạn chú ý tới điều này.

Để bật tính năng CACHE cho các module.

Vào menu Modules --> Site Modules --> chọn từng Module. Trong phần tham

số Parameters, nếu tìm thấy dòng đại loại như "Enable Cache" thì hãy chọn

"Yes".

4. Làm sao để xóa CACHE

Theo mặc định thời gian một bản CACHE có hiệu lực l à 900 s = 15 phút. Tuy

nhiên vì một lý do nào đó, bạn muốn các bài viết hoặc các module... cần được

cập nhật ngay thông tin mà không phải đợi 15 phút sau.

Bạn vào menu System --> chọn Clean Content Caches để xóa các file cache

của các bài viết

Bạn vào menu System --> chọn Clean All Caches để xóa tất cả các cache

V.2. Cải thiện các truy vấn SQL Xác định phần tiền tố của các bảng .Thường là "jos_"

Mở công cụ SQL (thực hiện các truy vấn SQL)

Page 46: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 42

Trần Văn Vẽ, Lớp 03T1 42

Chạy các câu lệnh SQL tương ứng sau

Đối với Joomla! core:ALTER TABLE `jos_categories` ADD INDEX `title_id` (`title`,`id`);

ALTER TABLE `jos_components` ADD INDEX `opt_par` (`option`, `parent`, `id`);

ALTER TABLE `jos_components` ADD INDEX `admin_opt` (`admin_menu_link`,

`option`);

ALTER TABLE `jos_content` ADD INDEX `state_access` ( `state` , `access` ,

`publish_up` , `publish_down` , `id` , `catid` , `sectionid` , `created_by` );

ALTER TABLE `jos_core_acl_aro` ADD INDEX `val_aro_id` (`value`, `aro_id`);

ALTER TABLE `jos_core_acl_aro_groups` ADD INDEX `name_lft_rgt` (`name`,

`lft`, `rgt`);

ALTER TABLE `jos_mambots` ADD INDEX `fold_acc` ( `folder`, `access`,

`published`, `ordering`, `element`, `params`(20));

ALTER TABLE `jos_mambots` ADD INDEX `element` ( `element` );

ALTER TABLE `jos_menu` ADD INDEX `link_id` (`link`(30), `id`);

ALTER TABLE `jos_menu` ADD INDEX `link_pub_id` (`link`(30), `published`, `id`);

ALTER TABLE `jos_menu` ADD INDEX `pub_acc_menu` (`published`, `access`,

`menutype`, `parent`,`ordering`, `id`, `name`);

ALTER TABLE `jos_sections` ADD INDEX `id,acc,pub` (`id`, `access`, `published`,

`name`(20));

ALTER TABLE `jos_sections` ADD INDEX `pub_acc_id`

(`published`,`access`,`id`,`name`(20));

ALTER TABLE `jos_stats_agents` ADD INDEX `agent_type` (`agent`,`type`,`hits`) ;

ALTER TABLE `jos_templates_menu` ADD INDEX `client_menu` (`client_id`,

`menuid`, `template`);

ALTER TABLE `jos_template_positions` ADD INDEX `pos` (`position`);

ALTER TABLE `jos_users` ADD INDEX `user_pass_id`

(`username`,`password`,`id`);

Đối với DocMan:

ALTER TABLE `jos_docman` ADD INDEX `own_pub` (`dmowner`, `published`,

`approved`, `catid`, `id`);

Đối với JoomComment

Page 47: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 43

Trần Văn Vẽ, Lớp 03T1 43

ALTER TABLE `jos_jomcomment` ADD INDEX `content_opt` (`contentid`,`option`,

`published`);

Đối với OpenSEFALTER TABLE `jos_opensef_conf ig` ADD INDEX `scope_name` (`scope`, `name`);

ALTER TABLE `jos_opensef_sef` ADD INDEX `exter_dir` (`external`, `direction`,

`site_id`, `use_internal`);

V.3. Bảo vệ file Configuration.php khỏi các truy cập tráiphép

Việc bảo vệ các file có nội dung quan trọng, các file cấu hình chứa các thông số của

hệ thống như: tên database, tên truy nhập, mật khẩu... là rất cần thiết và phải đặc biệt

lưu tâm. Trong Joomla có một file như thế - file "configuration.php". Để tăng cường

bảo mật cho file "configuration.php" n ày có nhiều cách, tuy nhiên có một cách hay

được sử dụng và đề cập trên các diễn đàn, đó là chuyển file "configuration.php" tới

một nơi an toàn, tránh sự nhòm ngó của hacker. Các bước thực hiện như sau:

Giả sử Website Joomla của bạn đ ược đặt trong thư mục "/www/public_html"

www

---|public_html

--------------|configuration.php

Chuyển file "configuration.php" ra khỏi "public_html", đặt nó vào một khu vực

khác do bạn tự tạo chẳng hạn " /www/private". Đặt cho nó một cái tên mới, chẳng hạn

"vinaora_joomla.conf".

www

---|private

-----------|vinaora_joomla.conf

Tạo một file "configuration.php" thay thế file cũ nhưng chứa nội dụng sau:

<?php

require( '/www/private/vinaora_joomla.conf' );

?>

Page 48: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 44

Trần Văn Vẽ, Lớp 03T1 44

Đừng để bất cứ khoảng trắng hoặc d òng trắng nào phía trước thẻ "<?php" và phía

sau thẻ "?>" và không được lưu nó với UTF-8 nếu không bạn sẽ nhận được thông báo

lỗi, đại loại như:

Warning: Cannot modify header information - headers already sent by (output

started at /home/xxxxx/public_html/configuration.php:2) in

/home/xxxxx/public_html/index.php on line 250

Thiết lập (CHMOD) quyền chỉ đọc cho file "configuration.php" mới này để đảm

bảo nó không bị thay đổi nội dung.

Khi bạn cần thay đổi các thiết lập cho Joomla h ãy thực hiện bằng tay đối với file

"vinaora_joomla.conf"

V.4. Bảo mật trang quản trị bằng mật khẩuBạn muốn ngăn chặn việc truy cập trái phép v ào vùng quản trị, trang administrator

(phần backend trong Joomla). Có nhiều giải pháp để thực hiện việc n ày. Bài viết này

xin giới thiệu một cách khá đơn giản nhưng lại hiệu quả với mục đích "Tăng cường

thêm một rào cản trước khi truy nhập được file index.php". Áp dụng trên Hosting

chạy Apache Server.

Cách thực hiện:

Copy đoạn mã sau và đặt vào đầu của file "index.php" trong thư mục

"Joomla\administrator\"

<?php

$name='439581667ef694b60d58f 213cccf9503';

$pass='439581667ef694b60d58f213cccf9503';

if (!isset($_SERVER['PHP_AUTH_USER'])

|| md5($_SERVER['PHP_AUTH_USER'])!==$name

|| md5($_SERVER['PHP_AUTH_PW'])!==$pass)

{

Page 49: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 45

Trần Văn Vẽ, Lớp 03T1 45

header('WWW-Authenticate');

header('HTTP/1.0 401 Unauthorized');

exit('<a href="http://vinaora.com/">VINAORA</a> : Access Denied');

}

?>

Trong đó

username = vinaora

password = vinaora

Page 50: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 46

Trần Văn Vẽ, Lớp 03T1 46

CHƯƠNG 2

XÂY DỰNG ỨNG DỤNG SIÊU THỊ SÁCH

TRỰC TUYẾN TRÊN CMS JOOMLA

I. Môi trường và công cụ để phát triển ứng dụngĐể xây dựng và phát triển ứng dụng này ta cần phải cài đặt môi trường máy ảo php

và có các công cụ cần thiết như sau:

Server Apache 2.2.8 (Win32)

Bộ php 5.2.5

Bộ MySQL 5.0.51

Phiên bản mã nguồn mở Joomla ổn định

Ngoài ra chúng ta có thể cài đặt các chương trình soạn thảo: phpDesigner 2008,

Macromedia Dreamweaver 8 , Zend Studio - 5.5.0…

Để thuận lợi và nhanh chóng hơn, ta có thể cài bộ XAMPP 1.6.6 tích hợp tất cả

server apache, php và mysql như sau:

XAMPP: dùng để giả lập máy tính của bạn th ành một máy chủ web (máy tính

của bạn khi được giả lập máy chủ web sẽ được gọi là: localhost, để phân biệt với các

máy chủ đang hoạt động trên web là host server). Bạn vào địa chỉ sau:

http://www.apachefriends.org/en/x ampp-windows.html#641.

Page 51: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 47

Trần Văn Vẽ, Lớp 03T1 47

Hình 6 : Các gói cài đặt XAMPP

Ta có thể download 1 trong 2 gói là Installer và Zip. Với gói ZIP ta chỉ cần giải nén

là có thể sử dụng được ngay mà không cần cài đặt như gói Installer. Cách sử dụng của

2 gói phần mềm này về cơ bản là giống nhau.

Joomla : joomla các phiên bản được cung cấp miễn phí tại trang web

http://www.joomla.org .

Hình 7 : Các phiên bản Joomla

Chọn download phiên bản 1.0.12 và download file Joomla_1.0.12 -Stable-

Full_Package.zip.

Hình 8 : Các gói phiên bản Joomla 1.0

Page 52: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 48

Trần Văn Vẽ, Lớp 03T1 48

II. Cài đặt JoomlaĐầu tiên, bung nén gói XAMPP vào một thư mục gốc của máy tính. Ở đây giả sử

dùng ổ C. Cần lưu ý là các file trong gói XAMPP phải nằm ngay trong thư mục cấp 1

ở ổ C.

Tiếp đó, bung nén gói Joomla v ào thư mục C:\xampp\htdocs , và đổi tên thư mục

chứa Joomla thành mysite để sau này dễ truy cập.

Để cài đặt Joomla, trước tiên chúng ta phải tạo một database rỗng và phải giả lập

máy tính của mình thành web server (cụ thể trong trường hợp này là localhost). Chúng

ta sẽ sử dụng gói XAMPP để làm cả hai công việc trên. Vào thư mục C:\xampp,

double-click file xampp_start.

Hình 9 :Khởi động XAMPP

Mở trình duyệt web lên, trong thanh Address, gõ vào dòng ch ữ http://localhost.

Trong phần menu bên trái chọn phpMyAdmin, đây là công cụ quản lý các cơ sở dữ

liệu của webserver.

Hình 10 : Vào phpMyAdmin

Màn hình sẽ tương tự bên dưới

Page 53: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 49

Trần Văn Vẽ, Lớp 03T1 49

Hình 11 : Trang mặc định của phpMyAdmin

Trong mục Create new database: gõ dòng chữ joom1, đây là tên của database mà ta

sẽ sử dụng, mục collation nhớ chọn utf8_unicode_ci để thuận lợi cho việc sử dụng

tiếng Việt trong joomla sau này. Bấm nút Create.

Hình 12 : Tạo cơ sở dữ liệu mới

Sau khi tạo thành công một database rỗng mới tên joom1, vào trình duyệt gõ dòng

chữ: http://localhost/mysite . Màn hình cài đặt Joomla sẽ bắt đầu.

Hình 13 : Bắt đầu cài đặt Joomla

Nhấn nút Next trên góc phải.

Page 54: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 50

Trần Văn Vẽ, Lớp 03T1 50

Hình 14 : Giấy phép sử dụng Joomla

Tiếp tục nhấn Next. Lúc này, màn hình cài đặt sẽ tới bước 1 như bên dưới. Điền các

thông số cần thiết như bên dưới và tiếp tục nhấn Next.

Hình 15 : Thông tin kết nối cơ sở dữ liệu

Có một thông báo xuất hiện. Nhấn OK.

Hình 16 : Thông báo xác nhận lại thông tin

Tại bước 2, đặt tên site (Ví dụ: Test Site, Web site của ABC), t ên này sẽ xuất hiện

trên thanh trình duyệt khi duyệt site. Nhấn Next.

Page 55: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 51

Trần Văn Vẽ, Lớp 03T1 51

Hình 17 : Đặt tên Site

Trong bước 3, điền địa chỉ email và Admin password (password này dùng đ ể truy

cập vào phần quản lý website sau này). Nhấn Next.

Hình 18 : Cấu hình url, path, thông tin admin

Page 56: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 52

Trần Văn Vẽ, Lớp 03T1 52

Hình 19 : Cài đặt thành công

Khi tới bước 4, bạn đã cài đặt thành công Joomla, hãy xóa thư mục cài đặt

Installation (Điều này nhằm đảm bảo an toàn, tránh việc người khác truy cập và cài đặt

lại Joomla). Cần chú ý 2 thông số, hai thông số này dùng để truy cập phần quản lý của

Joomla.

Username: admin

Password: 123456

Hệ quản trị Joomla được chia làm 2 phần :

Front-End: là phần mặt trước của Joomla, đây là phần mà người dùng bình

thường thấy được khi vào thăm web site, phần này thường hiển thị các bài

viết, hình ảnh mà web site muốn hiển thị.

Back-End: là mặt sau, dành cho người quản lý site (administrator). Phải có

username và password mới truy cập được vào back-end để quản lý thông tin,

cấu hình hệ thống.

Page 57: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 53

Trần Văn Vẽ, Lớp 03T1 53

Vậy ta đã cài đặt xong Joomla trên localhost, các công việc còn lại để tạo lên

website sẽ là cấu hình Joomla và cài đặt thêm các giao diện, extensions cần thiết theo

yêu cầu của website.

III. Việt hóa Joomla

III.1. Tiến hành Việt hóa JoomlaJoomla! 1.5 ra đời đánh dấu sự nhảy vọt cả về cách trình bày, giao diện, tính

năng, kiến trúc và "...hỗ trợ tất cả các ngôn ngữ có tập ký tự đ ược biểu diễn bằng

bảng mã UTF-8..." (trích dẫn từ http://vi.wikipedia.org/wiki/Joomla). Với Joomla! 1.5

việc bản địa hóa đã trở nên dễ dàng hơn, toàn diện hơn (sử dụng bảng mã Unicode và

cho phép bản địa hóa cả phần front -end, back-end). Bài viết này sẽ giúp các bạn nhanh

chóng Việt hóa Joomla! (Việt hóa cả phần front-end và back-end) chỉ sau vài bước

đơn giản

Việt hóa phần tiền sảnh front -end (phía người sử dụng)

Các gói ngôn ngữ phần tiền sảnh của Joomla! 1.5 được lưu trong thư mục

"\language". Gói ngôn ngữ tiếng Anh sẽ được lưu trong thư mục "\language\en-GB".

Trong thư mục này lại có các file sau:

index.html: Để tránh các hacker liệt kê các file và thư mục.

en-GB.xml: Mô tả các thông tin liên quan tới gói ngôn ngữ.

en-GB.ignore.php: Danh sách các ký tự bỏ qua khi tìm kiếm.

en-GB.ini: File ngôn ngữ chính của Joomla!

en-GB.com_xxx.ini: File ngôn ngữ cho component có tên là com_xxx.

en-GB.mod_xxx.ini: File ngôn ngữ cho module có tên là mod_xxx.

en-GB.plg_xxx.ini: File ngôn ngữ cho các plugin có tên liên quan.

Page 58: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 54

Trần Văn Vẽ, Lớp 03T1 54

Để tạo gói ngôn ngữ tiếng Việt. Chúng ta l àm như sau:

Bước 1. Tạo thư mục chứa gói ngôn ngữ tiếng Việt: " \language\vi-VN"

Bước 2. Copy toàn bộ các file trong thư mục "\language\en-GB" tới thư mục

"\language\vi-VN"

Bước 3. Thay phần tiền tố của tên các file tiếng Anh (en-GB) bằng tiền tố của

file tiếng Việt (vi-VN). Nghĩa là ta có cấu trúc thư mục chứa gói ngôn ngữ tiếng Việt

như sau:

\language\vi-VN\

---------------\index.html

---------------\vi-VN.xml

---------------\vi-VN.ignore.php

---------------\vi-VN.ini

---------------\vi-VN.com_xxx.ini

---------------\vi-VN.mod_xxx.ini

---------------\vi-VN.plg_xxx.ini

Bước 4. Thay file "vi-VN.xml", "vi-VN.ignore.php" bằng 2 file download từ

liên k ết sau:

http://vinaora.com/joomla/download/Joomla_Vietnamese_Language_Pack_1_5.zip

Bước 5. Mở các file *.ini bằng trình soạn thảo Notepad++ (khuyến cáo).

Bước 6. Chọn định dạng (mở menu Format) khi l ưu các file này: "UTF-8

without BOM" (lưu các ký tự tiếng Việt nhưng không chèn thêm ký tự đánh dấu

UTF-8 ở đầu file).

Bước 7. Tiến hành Việt hóa. Thay các từ/cụm từ tiếng Anh bằng từ/cụm từ tiếng

Việt tương đương.

Việt hóa phần hậu sảnh back-end (phía người quản trị)

Page 59: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 55

Trần Văn Vẽ, Lớp 03T1 55

Gói ngôn ngữ tiếng Anh của phần hậu sảnh Joomla! được lưu trong thư mục

"administrator\language\en-GB".

Việc Việt hóa được tiến hành tương tự như phần tiền sảnh front-end của Joomla!.

Chú ý:

Tất cả các file nếu nội dung có chứa tiếng Việt th ì đều phải lưu với lựa chọn

"UTF-8 without BOM".

Keyword: Việt, Việt hóa, tiếng Việt, ngôn ngữ, gói ngôn ngữ,

tiếng Anh, bản địa hóa, UTF-8, front-end, back-end.

III.2. Cài đặt gói ngôn ngữ cho Joomlao Tải gói ngôn ngữ (language package):

o http://extensions.joomla.org/component/option,com_mtree/task,listcats/cat

_id,1837/Itemid,35/ hoặc http://joomlaviet.org/

o Mở menu "Installers" --> "Languages"

o Nhấn vào nút [Browser...] để chọn gói ngôn ngữ (được đóng gói trong

một file nén *.zip)

o Nhấn vào nút [Upload File & Install] để tiến hành cài đặt

o Nhấn vào link 'Continue...' để kết thúc quá trình cài đặt. Joomla! sẽ

chuyển hướng đến trang quản lý các ngôn ngữ.

o Từ danh sách các gói ngôn ngữ, chọn ngôn ngữ mới c ài đặt (ngôn ngữ

Việt Nam), sau đó nhấn vào nút [Publish]

o Vào menu Global Configuration -> Site -> Locale, chọn ngôn ngữ Việt

Nam và nhấn nút [Default] để thiết lập tiếng Việt thành ngôn ngữ mặc định

cho site.

Page 60: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 56

Trần Văn Vẽ, Lớp 03T1 56

III.3. Sử dụng JoomFish để xây dựng Website đa ngôn ngữChúng ta sẽ tiến hành xây dựng Website sử dụng 3 ngôn ngữ: tiếng Anh, tiếng Việt ,

và tiếng Pháp.

Bước 1: Cài đặt JoomFish

Truy cập vào Back-end, mục Installers/Components, duyệt tới file Compon entJoomFish và nhấn Upload File & Install .

Hình 20 : Cài đặt JoomFish

Khi cài đặt thành công, chúng ta sẽ thấy màn hình chào mừng của JoomFish:

Hình 21 : Màn hình JoomFish

Bước 2: Cài đặt và tinh chỉnh các file ngôn ngữ

Vào mục Installers/Languages để c ài thêm 2 ngôn ngữ tiếng Việt và tiếng Pháp,tiếng Anh đã có sẵn khi cài đặt Joomla.

Page 61: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 57

Trần Văn Vẽ, Lớp 03T1 57

Hình 22 : Cài đặt ngôn ngữ

Sau khi cài xong, chúng ta vào mục Site/Language Manager /Site Languages đểkiểm tra.

Hình 23 : Kiểm tra ngôn ngữ

Hình 24 : Danh mục ngôn ngữ

Chúng ta thấy rằng, tên ngôn ngữ tiếng Pháp bị lỗi, chúng ta cần sữa lại v ì tên ngônngữ sẽ hiển thị trên Website để khách viếng thăm lựa chọn.

Vào Components/Joom!Fish/Languages

Page 62: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 58

Trần Văn Vẽ, Lớp 03T1 58

Hình 25 : Quản lý ngôn ngữ

Joom!Fish đã nhận được 3 gói ngôn ngữ

Hình 26 : Quản lý ngôn ngữ

Mở chương trình Word, chọn Insert Symbol

Tìm tới chữ ç và chèn vào file word.

Page 63: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 59

Trần Văn Vẽ, Lớp 03T1 59

Bôi đen chữ ç và copy vào clipboard (Ctrl+C) , quay lại Joomla, dán chữ ç vào vị trídấu ? trong tên file Fran?ais (dùng Ctrl+V), và s ửa luôn chữ Vietnam thành Tiếng Việt(sử dụng Unicode).

Hình 27 : Kích hoạt ngôn ngữ

Cho Active các ngôn ngữ và điền thêm các thông số cho ngôn ngữ tiếng Việt vàtiếng Pháp như hình dưới đây

Page 64: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 60

Trần Văn Vẽ, Lớp 03T1 60

Hình 28 : Kích hoạt ngôn ngữ

Chọn thứ tự cho các ngôn ngữ sẽ hiển thị tr ên Front-end: Tiếng Việt 0, tiếng Anh 1,tiếng Pháp 2.

Hình 29 : Thứ tự ngôn ngữ

Tiếp đó nhấn Save để lưu lại

Hình 30 : Lưu ngôn ngữ

Sau khi đã cài đặt và điều chỉnh các gói ngôn ngữ như trên, để site hoạt động tốt, ítxảy ra lỗi, chúng ta cần điều chỉnh các f ile ngôn ngữ sang UTF-8.

Dùng Dreamweaver mở các file sau (trong thư mục language) và điều chỉnh cáccharset từ ISO-8859-1 sang UTF-8.

english.php

english.xml

french.php

french.xml

Đối với file *.php

Page 65: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 61

Trần Văn Vẽ, Lớp 03T1 61

Sửa dòng DEFINE(‘_ISO’,’charset=iso -8859-1’); thànhDEFINE(‘_ISO’,’charset=utf -8’);

Vẫn trong Dreamweaver, chọn menu Modify/Page Properties

Trong phần Page Properties, mục Title/Encoding, mục Encoding chọnUnicode(UTF-8). Nhấn OK rồi lưu lại (Save).

Page 66: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 62

Trần Văn Vẽ, Lớp 03T1 62

Đối với file *.xml

Trong Dreamweaver, thay dòng enco ding từ iso-8859-1 thành utf-8 rồi lưu lại giốngphía trên.

Hình 31 : Điều chỉnh chuẩn ngôn ngữ

Bước 3: Test thử Site

Page 67: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 63

Trần Văn Vẽ, Lớp 03T1 63

Quay lại Joomla, vào mục Modules/Site Modules

Tìm tới mục JoomFish language selection

Chọn vị trí xuất hiện của module lựa chọn ngôn ngữ. Ví dụ ở đây chúng ta chọnPosition: top, chọn Published: yes và lưu lại (Save)

Hình 32 : Chọn hiển thị module chọn ngôn ngữ

Bây giờ hãy mở cửa sổ trình duyệt và test thử site ngoài Front-end, nếu có xuất hiệnmodule lựa chọn và khi lựa chọn từng ngôn ngữ th ì các dòng chữ trên Joomla thay đổitheo là bạn đã thành công.

Bước 4: Dịch các bài viết và các thành phần trong site thành nhiều ngôn ngữ

Quay vào Back-end, chọn Components/Joom!Fish/Translation

Page 68: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 64

Trần Văn Vẽ, Lớp 03T1 64

Lưu ý các menu bên góc phải

Hình 33 : Dịch bài viết và thành phần trong Joomla

Mục Content elements là các thành phần trong Joomla mà bạn có thể dịch ra ngônngữ khác nhau. Mục Languages d ùng để lựa chọn ngôn ngữ dịch.

Lưu ý: Theo mặc định trong Joom!Fish, khi có một mục bạn không dịch (Notranslation) thì mục này sẽ được để với ngôn ngữ mặc định của site (Ngôn ngữ mặcđịnh được thiết lập trong Site/Global configuration).

Bạn có thể thay đổi mặc định này bằng cách vàoComponents/Joom!Fish/Configuration

Page 69: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 65

Trần Văn Vẽ, Lớp 03T1 65

Hình 34 : Mặc định trong JoomFish

IV. Thiết kế Template

IV.1. Vị trí các module và componentTrước khi tìm hiểu về template Joomla chúng ta cần phải phân biệt rõ sự khác

nhau giữa 2 khái niệm module và component và vị trí xuất hiện của chúng trong

template. Trong hình vẽ sau, bạn hãy chú ý các khối được đánh dấu màu da cam.

Chúng mô tả các vị trí của module và component mà template này cung c ấp.

Page 70: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 66

Trần Văn Vẽ, Lớp 03T1 66

Hình 35 : Vị trí module và component mà joomla cung cấp

Chú ý: Trên một trang bất kỳ các module có thể có nhiều (cả về số l ượng và vị trí)

hoặc không có module nào nhưng luôn có duy nhất một component (trừ 1 vài trường

hợp đặc biệt)

Làm thế nào để biết template đang sử dụng cho phép những vị trí n ào? Thật

đơn giản, bạn chỉ cần đăng nhập vào trang quản trị. Sau đó, mở menu Extension >>>

Modules Manager bạn sẽ trông thấy các vị trí có thể d ùng được trong danh sách có

dòng chữ "Select Position" như hình dưới đây

Hình 36 : Danh sách vị trí module và component

Chúng ta hãy quay trở lại trang chủ Joomla và bạn sẽ nhận thấy rằng, các module,

component đã được bố trí như sau:

Page 71: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 67

Trần Văn Vẽ, Lớp 03T1 67

Hình 37 : Vị trí module và component

Chúng ta cần xem xét những đoạn mã nào đã tạo ra các vị trí dành cho module và

component. Bạn hãy quan sát hình sau:

Page 72: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 68

Trần Văn Vẽ, Lớp 03T1 68

Hình 38 : Đoạn mã tạo vị trí module và component

Chú ý: Tất cả các module bên trái đều sử dụng duy nhật một đoạn m ã có dạng như

sau:

<jdoc: include type="modules" name="left" style="...." />

Tất cả các module bên phải đều sử dụng duy nhật một đoạn mã sau:

<jdoc: include type="modules" name="right" style="...." />

IV.2. Cấu trúc TemplateHệ thống Joomla Template là một trong những thứ dễ học nhất của Content

Management System. Cấu trúc của một Joomla Template nh ư sau:/templates

/basic_template

/css

template_css.css

/images

index.php

template_thumbnail.png

templateDetails.xml

Đó là một tập hợp tối thiểu các file mà chúng ta cần để tạo một template .

Page 73: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 69

Trần Văn Vẽ, Lớp 03T1 69

Hình 39 : Tập các file của template

IV.3. templateDetails.xmltemplateDetails.xml phải chứa tên của tất cả các file của template. Nó cũng bao

gôm các thông tin như tác gi ả, bản quyền, một số thông tin chỉ đ ược hiển thị trong

phần the admin backend trong T emplate Manager.

Ví dụ một file templateDetails.xml có nội dung như sau:

<mosinstall type="template" version="1.0.x">

<name>mytemplate</name>

<creationDate>July 08</creationDate>

<author>Tran Van Ve</author>

<copyright>GNU/GPL</copyright>

<authorEmail>[email protected]</authorEmail>

<authorUrl>www.tranvanve.com</authorUrl>

<version>1.0</version>

<description> Day la template cua toi</description>

<files>

Page 74: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 70

Trần Văn Vẽ, Lớp 03T1 70

<filename>index.php</filename>

<filename>js/ie.js</filename>

<filename>template_thumbnail.png</filename>

</files>

<images>

<filename>images/header.png</filename>

<filename>images/background.png</filename>

<filename>template_thumbnail.png</file name>

</images>

<css> <filename>css/base.css</filename>

<filename>css/norightcol.css</filename>

<filename>css/template_css.css</filename>

</css>

</mosinstall>

Ý nghĩa của các thẻ được sử dụng như sau:

+ mosinstall nội dung của tài liệu xml được sử dụng để chỉ dẫn cho công việc

cài đặt. Tùy chọn type="template" thông báo cho trình cài đặt là chúng ta đang cài

đặt template.

+ name định nghĩa tên cho template, tên được điền ở đây sẽ được sử dụng để

tạo thư mục trong thư mục template . Bởi vậy tên ở đây không được chứa các kí tự mà

hệ thống khó nắm bắt ví dụ như kí tự cách.

+ create date ngày template được tạo ra, nó là một dạng mẫu tự do có thể là:

May 2005, 08-June-1978, 01/01/2004 ….

+ author tên của người thiết kế ra template này.

+ copyright bất kì thông tin bản quyền nào bên trong thành phần này.

+ authorEmail hòm thư điện tử của tác giả.

+ authorURL tên trang web của tác giả.

Page 75: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 71

Trần Văn Vẽ, Lớp 03T1 71

+ version phiên bản của template này.

+ files tất cả các mục file chứa tất cả các file chung nh ư mã nguồn PHP hay

hình thu nhỏ của template. Mỗi một danh sách file đ ược đặt trong cặp thẻ <filename>

</filename> .

+ images tất cả các hình ảnh được sử dụng trong template, và mỗi danh sách

cũng được đặt trong cặp thẻ <filename> </filename>.

+ css liệt kê các stylesheet được sử dụng trong template.

IV.4. index.phpindex.php là sự kết hợp giữa (x)html và php để xác định các cách tr ình bày và

hình thức của trang web. Bạn không cần phải là một chuyên gia PHP mới viết được

template, tất cả những gì bạn cần là học nơi nào đặt các khóa móc (key “hooks”) vào

cổ máy template Joomla. Trong khung HTML bạn đặt các “cửa sổ” nhìn vào bên trong

cơ sở dữ liệu đằng sau website của bạn, có nhiều cửa sổ nhỏ điển h ình được gọi là các

module và thông thường một cái mở rộng hơn cho một component.

Bạn nên viết các template bằng XHTML mặc d ù có tranh luận liệu XHTML có là

lối đi của tương lai hay không, nó vẫn còn là một định dạng XML chuẩn rất tốt, trong

khi HTML là một chuẩn rời rạc. Các phiên bản tương lai của Joomla sẽ dựa ngày càng

nhiều vào XML vì đó là lối đi kế tục kiểu mẫu trong thời điểm hiện tại.

Chúng ta sẽ quan sát phần quyết định để đạt đ ược một template hợp lệ, phần đầu

của file index.php.<?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not

allowed.' ); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1 -transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php echo _LANGUAGE;

?>" xml:lang="<?php echo _LANGUAGE; ?>"

<head>

<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />

Page 76: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 72

Trần Văn Vẽ, Lớp 03T1 72

<?php

if ($my->id)

{

initEditor();

}

?>

<?php

mosShowHead();

?>

<script type="text/javascript"> </script>

<!--http://www.bluerobot.com/web/css/fouc.asp -->

<link href="templates/<?php echo $cu r_template; ?>/css/template_css.css"

rel="stylesheet" type="text/css" media="screen" />

</head>

<?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not

allowed.' ); ?> Đoạn mã này ngăn cản việc truy nhập trực tiếp vào file index.php.

<?php if ($my->id) { initEditor(); } ?> đây là một biến kịch bản mà giá trị

của nó sẽ khác không khi người sử dụng đăng nhập vào website. Khi người dùng đăng

nhập vào hệ thống trình soạn thảo WYSIWYG sẽ được chỉ định được tải xuống trước,

nếu bạn là người quản trị thì bạn luôn muốn trình soạn thảo sẽ được tải xuống trước

nhưng đối với người dùng thông thường thì họ lại thường không thêm nội dung mới

cho trang web. Script này sẽ giúp trình duyệt của bạn tải trang web một cách b ình

thường.

<?php mosShowHead(); ?> mục header là nơi chứa các cấu hình toàn cục cho

trang web, nó bao gồm các nhãn sau:

<title>A Complete Guide to Creating a Joomla Template </title>

<meta name="description" content="Installing Joomla, doctype and the blank

joomla template" />

<meta name="keywords" content="installing joomla, joomla doctype, blank

joomla tempate" />

Page 77: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 73

Trần Văn Vẽ, Lớp 03T1 73

<meta name="Generator" content="Joomla! - Copyright (C) 2005 Open Source

Matters. All rights reserved." />

<meta name="robots" content="index, follow" />

<link rel="shortcut icon" xhref="images/favicon.ico" />

<link href="templates/<?php echo $cur_template; ?>/css/template_css.css"

rel="stylesheet" type="text/css" media="screen" />

Đoạn mã này sẽ liên kết tới file CSS của template, đoạn m ã php <?php echo

$cur_template; ?> sẽ trả lại tên của template hiện thời. Khi tạo một template mới bạn

chỉ cần sao chép đoạn mã này mà không cần phải quan tâm đến việc sửa đoạn m ã này.

Khi thiết kế template người thiết kế phải tạo cho trang web một khung để hiển thị

thông tin, sau đó đặt các thành phần của Joomla vào nơi bạn muốn. Các thành phần

của Joom la thường được sử dụng như sau:

<?php echo $mosConfig_sitename;?> hi ển thị tên của trang web.

<?php mospathway()?> đường dẫn các mục khi người sử dụng duyệt trang web.

<?php mosLoadModules('top');?> hiển thị phần menu phía trên của trang web.

<?php mosLoadModules('left');?> hi ển thị phần menu phía trái của trang web.

<?php mosMainBody();?>hiển thị phần nội dung chính của trang web.

<?php mosLoadModules('right');?> hi ển thị phần nội dung bên trái của trang web.

<?php include_once( $mosConfig_absolute_path .'/includes/footer.php' );?> hi ển thị

phần nội dung cuối của trang web.

Mục đích của chúng ta là đặt các thẻ này vào nơi hợp lý trên khung html của file

index.php.

IV.5. template_css.cssĐây là file xác định cách thức hiển thị nội dung tr ên trang web như font chữ, cỡ

chữ, màu sắc …Sau đây là một số thành phần CSS mặc định của Joomla, khi thết kế

template công việc của bạn là thay đổi các thông tin của file này để có một template

phù hợp với trang web.

Page 78: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 74

Trần Văn Vẽ, Lớp 03T1 74

Hình 40 : Thành phần CSS mặc định của Joomla

A. xác định cách thức hiển thị tên của trang web, sau đây là ví dụ:.site_name {

padding-top: 5px;

padding-left: 5px;

}

B. xác định cách thức hiển thị phần đường dẫn của trang web, sau đây là ví dụ:.pathway {

color: #255B86;

}

a.pathway, a.pathway:visited {

color: #255B86;

}

Page 79: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 75

Trần Văn Vẽ, Lớp 03T1 75

a.pathway:hover {

color: #98A258;

}

C. xác định cách thức hiển thị phần header của mỗi modul khi hiển thị, sau đây

là ví dụ:table.moduletable {

width: 90%;

margin: 0px 0px 0px 7px;

border-left: solid 0px #666666;

border-right: solid 0px #666666;

border-top: solid 0px #666666;

border-bottom: solid 0px #666666;

}

table.moduletable th {

background: none;

vertical-align: middle;

font-size: 11px;

font-weight: bold;

color: #666666;

text-align: center;

text-indent: 0px;

width: 100%;

height: 24px;

border-bottom: solid 1px #666666;

}

table.moduletable td {

font-size: 11px;

background: none;

padding: 5px;

font-weight: normal;

}

D. xác định cách thức hiển thị phần menu b ên trái, sau đây là ví dụ:

Page 80: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 76

Trần Văn Vẽ, Lớp 03T1 76

a.mainlevel:link, a.mainlevel:visited {

color: #3D4E6D;

background: none;

font-weight: bold;

text-decoration: none;

text-align: left;

}

a.mainlevel:hover {

color: #98A258;

width: 100%;

font-weight: bold;

text-decoration: none;

text-align: left;

}

E. xác định cách thức hiển thị các ô text nhập dữ liệu, sau đây l à ví dụ:.inputbox {

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 12px;

color: #343A58;

background: #FFFFFF;

border: 1px solid;

}

F. xác định cách thức hiển thị các nút bấm tr ên trang web, sau đây là ví dụ:.button {

color: #343A58;

font-family: Arial, Verdana, Helvetica, sans -serif;

margin-top: 4px;

font-weight: bold;

text-align: center;

font-size: 12px;

background: #f5f5f5;

border: 1px solid #000066;

height: 20px;

cursor: pointer;

Page 81: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 77

Trần Văn Vẽ, Lớp 03T1 77

}

G. xác định cách thức hiển thị các đường liên kết trên trang web, sau đây là ví

dụ:a:link, a:visited {

font-size: 11px;

color: #98A258;

text-decoration: none;

font-family: Arial, Verdana, Helvetica, sans -serif;

}

a:hover {

color: #23598d;

text-decoration: none;

}

H. xác định cách thức hiển thị header của các th ành phần mở rộng trên trang

web, sau đây là ví dụ:.componentheading {

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 14px;

font-weight: bold;

color: #53586D;

text-align: left;

}

I. xác định cách thức hiển thị header của phần nội dung b ài viết trên trang web,

sau đây là ví dụ:.contentheading {

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 13px;

font-weight: bold;

color: #53586D;

text-align: left;

line-height: 16px;

Page 82: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 78

Trần Văn Vẽ, Lớp 03T1 78

height: 15px;

}

J. xác định cách thức hiển thị tên tác giả bài viết trên trang web, sau đây là ví

dụ:.small {

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 10px;

color: #343A58;

text-decoration: none;

font-weight: normal;

}

K. xác định cách thức hiển thị ngày bài viết được đưa lên web trên trang web,

sau đây là ví dụ:.createdate {

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 9px;

color: #343A58;

text-decoration: none;

font-weight: normal;

}

L. xác định cách thức hiển thị phần nội dung chính của b ài viết trên trang web,

sau đây là ví dụ:td,tr,p,div {

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 11px;

color: #333333;

}

M. xác định cách thức hiển thị ngày chỉnh sửa cuối cùng của bài viết trên trang

web, sau đây là ví dụ:.modifydate {

Page 83: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 79

Trần Văn Vẽ, Lớp 03T1 79

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 10px;

color: #343A58;

text-decoration: none;

font-weight: normal;

}

N. xác định cách thức hiển thị dòng chữ “read more” trên trang web, sau đây là

ví dụ:a.readon:link, a.readon:visited {

color: #23598d;

text-decoration: none;

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 11px;

}

a.readon:hover {

color: #23598d;

text-decoration: underline;

font-weight: normal;

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 11px;

}

O. xác định cách thức hiển thị nút “Back” tr ên trang web, sau đây là ví dụ:.backbutton {

color: #343A58;

font-family: Arial, Verdana, Helvetica, sans -serif;

margin-top: 4px;

font-weight: bold;

text-align: center;

font-size: 12px;

background: #f5f5f5;

border: 1px solid #000066;

height: 20px;

Page 84: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 80

Trần Văn Vẽ, Lớp 03T1 80

cursor: pointer;

}

P. xác định cách thức hiển thị phần thăm d ò (poll) trên trang web, sau đây là ví

dụ:.poll {

font-family: Arial, Verdana, Helvetica, sans -serif;

font-size: 11px;

font-weight: bold;

color: #343A58;

line-height: 14px;

}

.pollstableborder {

border: 1px solid #465675;

}

Q. xác định cách thức hiển thị khác nhau của các d òng trong phần thăm dò trên

trang web, sau đây là ví dụ:.sectiontableentry2 {

background-color: #f5f5f5;

}

R. xác định cách thức hiển thị khác nhau của các d òng trong phần thăm dò trên

trang web, sau đây là ví dụ:.sectiontableentry1 {

background-color : #D9DCEB;

}

IV.6. Cài đặt TemplateMở menu Installers -> Templates – Site

Page 85: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 81

Trần Văn Vẽ, Lớp 03T1 81

Hình 41 : Cài đặt Front end template

Nhấn lên nút [Browse...], chọn template (được đóng gói trong một file zip hoặg gz)

sau đó nhấn lên nút [Upload file & Install]

Hình 42 : Cài đặt Front end template 1

Chờ Joomla thông báo việc cài đặt thành công rồi nhấn vào Continue...

Thiết lập template mới cài đặt thành template mặc định

Page 86: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 82

Trần Văn Vẽ, Lớp 03T1 82

Mở menu Site -> Templates Manager -> Site Templates, chọn template mới cài đặt

rồi nhấn vào nút [Default]

Hình 43 : Danh mục các template

V. Component

V.1. Cấu trúc chung của một componentMột component thường có các thành phần cơ bản sau:: Phần hiển thị ở trang chủ,

Phần quản lý trong Joomla! Administrator v à các bảng dữ liệu trong cơ sở dữ liệu.Các

bước cơ bản để làm một component như sau:

a. Backend thông thường sẽ gồm những file c ơ bản sau: 1 file

admin.yourcom.php, 1 file admin.yourcom.html.php, 1 file toolbar.yourcom.php, 1 file

toolbar.yourcom.html.php.

b. Frontend sẽ gồm 2 file cơ bản (thông thường): 1 file yourcom.php, 1 file

yourcom.html.php

Chú ý: không nhất thiết một com của bạn phải hoặc chỉ bao gồm các file tr ên,

các file bắt buộc là admin.yourcom.php và yourcom.php (folder ch ứa com cả trong

frontend và backend sẽ là com_yourcom). Ngoài ra bạn có thể có các file khác (vd

yourcom.class.php chẳng hạn), các folder, các file .js, file ảnh... tùy thuộc vào mức độ

bạn cần ở com này và mức độ bạn hiểu.

Page 87: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 83

Trần Văn Vẽ, Lớp 03T1 83

c. Một file .XML để phục vụ cho việc c ài đặt khi bạn đóng gói. File XML n ày sẽ

mang tất cả các thông số về Tên com; tên tác giả, địa chỉ email, license .. . (optional).

Mục đích chính của file này là khai báo các file trong frontend và backend (đư ờng dãn

đầy đủ của các file này) để upload khi cài đặt, khai báo các query tạo v à insert

database (nếu bạn phải thêm database) và các query uninstall (n ếu có)..

Một điểm quan trọng là phải hiểu các object, class, function... c ơ bản trong

joomla thì mới sử dụng được chúng để viết (ví dụ như object về database...). Khi đóng

gói thì nhớ đóng gói ở dạng .zip, .tar nếu ở dạng .zar th ì joomla ko hiểu đc. Nếu chưa

đóng gói được thì làm manual bằng cách insert trong database v à copy các file vào các

folder tương úng (không khuyến cáo sd cách này).

Để đảm bảo khỏi các lộn xộn khi viết m ã php và html , thông thường người ta

thường phân tách phần hiển thị th ành 2 phần : một phần chứa các mã logic php

(thường .php) một phần chứa các đoạn m ã html được định dạng để hiển thị (thường là

.html.php).

Để thuận tiện cho việc học hỏi trong quá tr ình trình bày lý thuyết phần này ta sẽ

xét ví dụ cụ thể là module quản lý thời khóa biểu .

V.2. yourcom.php và yourcom.html.phpyourcom.php chứa phần mã logic bằng php như các mã kết nối ,xử lý cơ sở dữ

liệu, xử lý chuỗi, mảng …. Thông th ường một file này thường có 4 phần:

Phần 1: phần này sẽ đảm bảo rằng file này không thể truy nhập trực tiêp được

và các lớp html được sử dụng cho việc hiển thị sẽ đ ược load.defined( '_VALID_MOS' ) or die( 'Direct access of this file is prohibited.' );

require_once( $mainframe->getPath( 'front_html' ) );

Phần 2: Xác định thông tin hiển thị trên Title của trình duyệt khi component

này được sử dụng.

$mainframe->setPageTitle( "Thoi khoa bieu" );

Phần 3: bao gồm các lựa chọn khác nhau, bạn có thể mở các component với

các tham số khác nhau và trình diễn chúng ở đây.switch( $task ) {

Page 88: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 84

Trần Văn Vẽ, Lớp 03T1 84

case 'free':

// more display possibilities

break;

default:

tkb_shows();

break;

}

Phần 4: là nơi thực thi các mã logic, ở đây các truy vấn cơ sở dữ liệu được thực

hiện, các mảng được tạo, thủ tục hiển thị được gọi và các lớp được tham chiếu,

các lớp này được chứa trong file yourcom.html.phpfunction tkb_shows( ) {

global $database;

/* SQL query of all published entries */

$query="SELECT * FROM #__tkb WHERE published='1'" ;

$database->setQuery( $query );

$rows = $database->loadObjectList();

HTML_tkb::showtable($rows );

}

yourcom.html.php có chứa các lớp để hiển thị, ở đây các mảng l à kết quả của

các truy vấn cơ sở dữ liệu được xử lý và hiển thị các bản ghi.

Một mảng sẽ được nhận thông qua thủ tục showtable($rows );. Danh sách các

bản ghi sẽ được trình diễn thông qua các mã html và để truy xuất chúng một vòng lặp

foreach loop được sử dụng đến khi không còn thành phần nào trong mảng.…..

Foreach ($rows as $row) {

…..

Theo nguyên tắc các thủ tục được đề nghị được sử dụng trong lớp như việc hiển

thị bảng. ví dụ việc sử dụng hàm trong lớp để hiển thị bảng.HTML_tkb::showtable($rows );

Đây là một lớp tĩnh (HTML_tkb) phương thức showtable($rows)có thể được gọi

trực tiếp, tên lớp và tên thủ tục được ngăn cách bởi hai đấu hai chấm.

Page 89: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 85

Trần Văn Vẽ, Lớp 03T1 85

V.3. admin.yourcom.php và file admin.yourcom.html.phpGiống như các file trong phần front-end , file admin.yourcom.php cũng chứa

phần logic xử lý còn file admin.yourcom.html.php sẽ chứa các thủ tục dùng để hiển thị

dữ liệu, nhập dữ liệu hay sửa dữ liệu đ ã có.

V.4. toolbar.yourcom.php và toolbar.yourcom.html.phpĐây là nơi thanh công cụ được tập hợp như danh sách dưới, ở đây các hàm cũng

được gọi để xử lý các sự kiện. Các biểu t ượng của thanh công cụ được cung cấp sẵn

của Joomla.

Hình 44 : Thanh công cụ của Joomlatoolbar.yourcom.php

defined( '_VALID_MOS' ) or die( 'Restricted access' );

require_once( $mainframe->getPath( 'toolbar_html' ) );

switch ( $task )

{

case "new":

case "edit":

menuAutolinks::EDIT_MENU();

break;

default:

menuAutolinks::DEFAULT_MENU();

break;

}

toolbar.yourcom.html.php

defined( '_VALID_MOS' ) or die( 'Restricted access' );

class menuAutolinks {

function EDIT_MENU()

{

mosMenuBar::startTable();

mosMenuBar::save();

mosMenuBar::cancel();

Page 90: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 86

Trần Văn Vẽ, Lớp 03T1 86

mosMenuBar::spacer();

mosMenuBar::endTable();

}

function DEFAULT_MENU()

{

mosMenuBar::startTable();

mosMenuBar::addNew();

mosMenuBar::editList();

mosMenuBar::publish();

mosMenuBar::unpublish();

mosMenuBar::deleteList();

mosMenuBar::spacer();

mosMenuBar::endTable();

}

V.5. file.xmlĐây là file dùng để cài đặt cho component , nội dung của file l à các mã xml xác

định các file sẽ được cài đặt, các mã tạo cơ sở dữ liệu ban đầu, các mã cài đặt, gỡ bỏ

component. Sau đây là một ví dụ:<?xml version="1.0" encoding="iso-8859-1"?>

<mosinstall type="component" version="1.0.0">

<name>tkb</name>

<creationDate>May 2007</creationDate>

<author>Anh Dai</author>

<copyright>GPL</copyright>

<authorEmail>[email protected]</authorEmail>

<authorUrl>antirealist.nekkarcity.de</authorUrl>

<version>1.0.0</version>

<description> component quan ly thoi khoa bieu</description>

<files>

<filename>tkb.php</filename>

<filename>tkb.html.php</filename>

</files>

<install>

<queries>

Page 91: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 87

Trần Văn Vẽ, Lớp 03T1 87

<query>DROP TABLE IF EXISTS `#__tkb` </query>

<query>CREATE TABLE IF NOT EXISTS `#__tkb` (

`id` int(4) NOT NULL auto_increment,

`name` varchar(100) NOT NULL default '',

`malop` varchar(10) NOT NULL default '',

`ngayhoc` varchar(100) NOT NULL default '',

`giohoc` varchar(100) NOT NULL default '',

`giaovien` varchar(100) NOT NULL default '',

`published` int(1) NOT NULL default 0,

PRIMARY KEY (`id`),

UNIQUE KEY `name` (`name`)

) TYPE=MyISAM;

</query>

</install>

<uninstall>

<queries>

<query>DROP TABLE IF EXISTS `#__tkb`</query>

</queries>

</uninstall>

<administration>

<menu>Thoi khoa bieu</menu>

<files>

<filename>admin.tkb.html.php</filename>

<filename>admin.tkb.php</filename>

<filename>tkb.class.php</filename>

<filename>tkb.xml</filename>

<filename>toolbar.tkb.php</filename>

<filename>toolbar.tkb.html.php</filename>

</files>

</administration>

</mosinstall>

Page 92: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 88

Trần Văn Vẽ, Lớp 03T1 88

VI. Thiết kế Modules danh mục sản phẩmTrong phạm vi giới hạn của báo cáo, tôi không thể tr ình bày đầy đủ quy trình thiết

kế của tất cả các Module đã được tích hợp với hệ thống. Ở đây chỉ lấy một Module

đơn giản để giải thích về cách thức xây dựng mới một module trong Joomla

Mặc nhiên sau khi cài đặt Joomla! chỉ có một số Module cơ bản cần thiết cho Web

Site hoạt động, muốn mở rộng thêm chức năng cho Web Site thông thư ờng cần phải

cài đặt thêm các phần mở rộng (Extensions) khác. Tuy nhi ên đôi lúc cũng cần phải tự

tạo cho riêng Web Site của mình một vài Mod để mở rộng thêm chức năng riêng cho

Web Site.

Thông thường một Mod sẽ gồm có 2 file ch ính là .php (chương trình) và file .xml

(thông số), ngoài ra có thể có thể có thêm thư mục ảnh, Java Script... hỗ trợ th êm cho

Module.

VI.1. mod_list_product.xmlKhai báo các thông số và cài đặt cho Module, các thông số n ày sẽ được hiển thị

trong phần Quản lý Module (Site Module: Edit)

<?xml version="1.0" encoding="iso -8859-1"?>

<mosinstall type="module" version="1.0.0">

<name>List product</name>

<author>Tran Van Ve</author>

<creationDate>5/2008</creationDate>

<copyright>(C) 2008 Tran Van Ve. All rights rese rved.</copyright>

<license>http://www.gnu.org/copyleft/gpl.html GNU/GPL </license>

<authorEmail>[email protected]</authorEmail>

<authorUrl>www.tranvanve.vn</authorUrl>

<version>1.0.0</version>

<description>Hiển thị sản phẩm má»›i nhất ,sá º£n phẩm khuyến mại,

mua nhiỠ� u nhất</description>

<files>

<filename module="mod_list_product">mod_list_product.php</filename>

Page 93: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 89

Trần Văn Vẽ, Lớp 03T1 89

<filename module="mod_list_product">dtabs.js</filename>

<filename module="mod_list_product">tabs -mac3.js</filename>

</files>

<params>

<param name="number_product" type="text" default="6" label="Số sản

phẩm hiển thị" description="Số sản phẩm hiển thị trên trang" />

<param name="moduleclass_sfx" type="text" default="" label="Hậu tố

Module của trang" description="Một hậu tố sẽ được thêm và o cho lớp CSS

của module (table.moduletable), nó cho phép cấu hình kiểu riêng cho Module" />

</params>

</mosinstall>

Dòng <?xml version="1.0" encoding="iso -8859-1"?> quy định chuẩn định

dạng cho file XML

Dòng <mosinstall type="module" version="1.0.0"> là th ẻ khai báo cài đặt

module

Dòng <name>List product</name> là tên module

Dòng <author>Tran Van Ve</author> là tên tác gi ả

Dòng <creationDate>5/2008</creationDate> là ngày th ực hiện

Dòng <copyright>(C) 2008 Tran Van Ve. All rights reserved.</copyright> là

bản quyền

Dòng <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license> là

loại giấy phép sử dụng

Dòng <authorEmail>[email protected]</authorEmail> là địa chỉ email

của tác giải

Dòng <authorUrl>www.tranvanve.vn</authorUrl> là trang web của tác giả

Dòng <version>1.0.0</version> là phiên bản của module

Dòng <description>Hiển thị sản phẩm mới, sản phẩm khuyến m ãi và sản phẩm

mua nhiều nhất</description> là giới thiệu về module

Page 94: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 90

Trần Văn Vẽ, Lớp 03T1 90

Các dòng sau khai báo các file có trong module đ ể cài đặt<files>

<filename module="mod_list_product">mod_list_product.php</filename>

<filename module="mod_list_product">dtabs.js</filename>

<filename module="mod_list_product">tabs -mac3.js</filename>

</files>

Các dòng sau khai báo các thông s ố có trong module với:

Name – tên thông số

Type – kiểu thông số

Default – giá trị mặc định

Label – tên hiển thị của thông số

<params>

<param name="number_product" type="text" default="6" label="Số sản phẩm

hiển thị" description="Số sản phẩm hiển thị trên trang" />

<param name="moduleclass_sfx" type="text" default="" label="Hậu tố Module

của trang" description="Một hậu tố sẽ được thêm và o cho lớp CSS

của module (table.moduletable), nó cho phép cấu hình kiểu riêng cho Module"

/>

</params>

Dòng </mosinstall> kết thúc việc cài đặt module

VI.2. mod_list_product.phpĐây là tập lệnh xử lý chính của module, kết hợp với các thông số trong

mod_list_product.xml. Xử lý các thuật toán truy vấn dữ liệu và trình bày dữ liệu lên

trang.

<?php

global $mosConfig_absolute_path,$mosConfig_live_site,$database,$aht_templates_path;

$number_product=$params->get('number_product','6');

$number_product = 9;

function showproduct($n,$number_ product){……………}

Page 95: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 91

Trần Văn Vẽ, Lớp 03T1 91

<script language="javascript">

function getproduct(str,numb)

{

var c='soluong'+numb;

document.adminForm.product_cart.value=str+'|'+document.getElementById(c).value+'^';

}

</script>

<form action="index.php?option=com_product" met hod="post" name="adminForm"

enctype="multipart/form-data">

<link id="luna-tab-style-sheet" type="text/css" rel="stylesheet" href="<?php echo

$aht_templates_path;?>/css/tabpane.css" />

<script type="text/javascript" src="<?php echo

$mosConfig_live_site;?>/includes/js/tabs/tabpane_mini.js"></script>

<div class="tab-page" id="modules-cpanel">

<script type="text/javascript">

var tabPane1 = new WebFXTabPane( document.getElementById( "modules -cpanel" ), 1 )

</script>

<div class="tab-page" id="module32"><h2 class ="tab">Sản phẩm mới</h2>

<script type="text/javascript">

tabPane1.addTabPage( document.getElementById( "module32" ) );

</script>

<table cellpadding="0" cellspacing="0" width="100%" >

<?php showproduct(1,$number_product);?>

</table>

</div>

<div class="tab-page" id="module19"><h2 class="tab">Sản phẩm khuyến mại</h2>

<script type="text/javascript">

tabPane1.addTabPage( document.getElementById( "module19" ) );

</script>

<table cellpadding="0" cellspacing="0" width="100%" cl ass="border_lattest_news">

<?php showproduct(2,$number_product);?>

</table>

</div>

<div class="tab-page" id="module20"><!--<h2 class="tab">San Pham chua biet</h2> -->

<script type="text/javascript">

Page 96: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 92

Trần Văn Vẽ, Lớp 03T1 92

tabPane1.addTabPage( document.getElementById( "module20" ) );

</script>

<table cellpadding="0" cellspacing="0" width="100%" class="border_lattest_news">

<?php //showproduct(3,$number_product);?>

</table>

<input type="hidden" name="back_link" value="<?php echo

'http://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI'];?>">

<input type="hidden" name="product_cart" value="" id="product_cart">

<input type="hidden" value="cart" name="task">

</div>

</div>

</form>

Đoạn lên sau khai báo các biến toàn cụ được sử dụng trong moduleglobal $mosConfig_absolute_path,$mosConfig_live_site,$database,$aht_templates_path;

$number_product=$params->get('number_product','6');

$number_product = 9;

Hàm showproduct() với các tham số $n= 1 là sản phẩm mới, $n=2 là sản phẩmkhuyến mãi, còn $number_product là số sản phẩm tối đa trình bày trên một tab.

function showproduct($n,$number_product){……………}

Đoạn còn lại form HTML trình bày sản phẩm bằng các gọi hàm showproduct().

Page 97: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 93

Trần Văn Vẽ, Lớp 03T1 93

CHƯƠNG 3

TRIỂN KHAI ỨNG DỤNG

I. Cài đặt website trên web host

Sau khi đã cài đặt và cấu hình cho Joomla! tại Localhost, công việc tiếp theo l à đưa

Website lên Web Host (Host) đ ể bắt đầu hoạt động trong hệ thống mạng to àn cầu.

Sau đây là cách tạo Database và đưa Website Joomla! từ Localhost lên Web Host:

Tạo Database trên Host:

Đăng nhập vào phần quản lý Host (Cpanel) và chọn MySQL Database.

Hình 45 : Phần quản lý host

Trong phần Create New Database nhập tên cho Database muốn tạo sau đó nhấn

Create Database.

Hình 46 : Tạo cơ sở dữ liệu mới

Trong phần MySQL Users nhập tên người dùng vào Username và mật khẩu vào

Password. Đây là tên và mật khẩu dùng để truy cập Database, có thể đặt t ùy ý. Nhập

Page 98: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 94

Trần Văn Vẽ, Lớp 03T1 94

mật khẩu giống như trên vào Password (Again) thêm một lần nữa và nhấn Create

User. Có thể tạo thêm nhiều tên người dùng khác nếu muốn.

Hình 47 : Tạo user mới

Trong phần Add User To Database chọn tên người dùng vừa tạo bên trên trong

mục User và chọn tên của Database nào muốn cho phép người dùng này truy cập

trong mục Database, sau đó nhấn Submit. Có thể làm thêm nếu muốn cho phép nhiều

người dùng truy cập Database.

Hình 48 : Add user vào cơ sở dữ liệu

Nếu làm đúng các bước như trên thì trong phần Current Database sẽ có tên của

Database và tên của người dùng được phép truy cập Database tương ứng. Lưu ý phải

nhớ tên của Database, tên người dùng (Username) và mật khẩu (Password) để khai

báo khi cài đặt Joomla! hoặc khi muốn truy cập Database.

Page 99: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 95

Trần Văn Vẽ, Lớp 03T1 95

Hình 49 : Database ứng với user

Lưu ý: Một số Free Host không cho phép tạo t ên người dùng (Username) mà lấy

luôn tên người dùng và mật khẩu giống với Username và Password dùng để truy cập

vào phần quản lý Host.

Cài đặt, đưa Web Site Joomla! lên Host :

Bây giờ đã có thể cài đặt mới hoặc đưa Web Site đã được cài đặt từ Loacalhost lên

Host. Có 2 cách để đưa Web Site Joomla! lên Host:

Copy bộ cài đặt Joomla! lên thư mục gốc (Web Root) của Host, th ư mục này

thường có tên là htdocs, publish_html, www,... Dùng chương trình quản lý File (File

manager) của Host để giải nén. Tiến hành cài đặt bình thường như trên Localhost. Sử

dụng tên Database, tên người dùng và mật khẩu được tạo ở phần trên.

Copy các File và Folder của Web Site đã được cài đặt từ Localhost lên Host để thay

thế (OverWrite) các File và Folder vừa mới cài đặt

Export dữ liệu của Database từ Localhost ra một File sau đó Import File n ày vào

Database trên Host. Import dữ liệu vào Database bằng cách sử dụng phpMyAdmin

trong phần quản lý Host (Cpanel).

Hình 50 : Phần quản lý host

Mở file configuration.php và chỉnh sửa các thông số cho phù hợp với webhost và

các thiết lập của bạn. Nếu mọi cấu h ình đã chính xác, bạn đã có thể chạy và sử dụng

website.

Page 100: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 96

Trần Văn Vẽ, Lớp 03T1 96

II. Kết quả demo

II.1. Trang chủ

Hình 51 : Trang chủ website

II.2. Đăng nhập

Hình 52 : Thành viên đăng nhập

Page 101: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 97

Trần Văn Vẽ, Lớp 03T1 97

II.3. Lựa chọn mục sản phẩm

Hình 53 : Danh mục lựa chọn sản phẩm

II.4. Chọn sản phẩm vào giỏ hàng

Page 102: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 98

Trần Văn Vẽ, Lớp 03T1 98

Hình 54 : Giỏ hàng

II.5. Gửi đơn hàng

Hình 55 : Nội quy mua hàng

Hình 56 : Gửi đơn hàng

Page 103: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 99

Trần Văn Vẽ, Lớp 03T1 99

CHƯƠNG 4

KẾT LUẬN

I. Kết quả thu đượcBằng sự nỗi lực cố gắng của bản thân v à sự hướng dẫn giúp đỡ tận t ình của thầy

giáo Ks.Trịnh Công Duy, sau thời gian thực hiện đề tài tôi đã thu nhận được những kết

quả đáng kể như sau:

- Hiểu biết cơ bản về các quy trình thương mại điện tử.

- Xây dựng thành công ứng dụng “Siêu thị sách trực tuyến” dựa trên nền tảng

Joomla.

- Nắm bắt được các kỹ thuật, có kinh nghiệm nhiều h ơn trong việc xây dựng ứng

dụng trên nền tảng một CMS.

II. Nhận xét

II.1. Ưu điểm Chương trình với giao diện thân thiện, hình ảnh hài hòa.

Xây dựng được những tính năng cơ bản nhất của một siêu thị trực tuyến.

Giao diện đa ngôn ngữ, dễ sử dụng.

Ứng dụng có khả năng phân loại h àng hóa theo từng chủng loại.

Khả năng tìm kiếm thông tin dễ dàng

Có các gian hàng trực tuyến với các chức năng nh ư giỏ hàng, đơn hàng…

Đăng tải và quản lý các bài viết, tin tức

Page 104: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 100

Trần Văn Vẽ, Lớp 03T1 100

II.2. Nhược điểm- Hình thức thanh toán chưa đa dạng, không cho phép khách hàng lựa chọn trực

tiếp

- Chưa xây dựng được các chương trình thẻ mua hàng.

- Chưa kết hợp được với các ngân hàng để thực hiện dịch vụ thanh toán trực

tuyến.

- Chưa có hệ thống hổ trợ khách hàng tốt

III. Phạm vi ứng dụngỨng dụng đã tạo được một gian hàng trực tuyến cung cấp thông tin về sách báo,

lịch, văn phòng phẩm và các sản phẩm khác cho phép khách h àng dễ dàng tra cứu, tìm

kiếm, lựa chọn, tính toán giá th ành và đặt mua hàng trực tiếp thông qua một hệ thống

các trang web thương mại điện tử.

Tạo lập một hệ thống quản trị cho phép ng ười quản trị có thể dễ dàng đưa thông tin

về sản phẩm, dịch vụ và các thông tin bổ trợ khác lên mạng và quản lý kho hàng trực

tuyến, khách hàng cũng như các chức năng bổ trợ khác như đưa tin tức lên mạng, giao

dịch với khách hàng, thông báo hàng mới, quảng cáo sản phẩm…

Với những tính năng như trên, ứng dụng có thể áp dụng cho những công ty kinh

doanh các sản phẩm sách báo, văn phòng phẩm có thể mở rộng hình kinh doanh của

mình lên không gian mạng Internet.

IV. Hướng phát triểnKhắc phục những nhược điểm của hệ thống hiện tại, Website trong tương lai sẽ là

trang bán sách trên mạng theo chuẩn thương mại điện tử, cho phép dễ dàng quản trị và

thiết lập các kho sách, kết nối với các hệ thống thanh toán trực tuyến giúp cho ng ười

dùng dễ dàng tra cứu và mua sách trực tiếp trên mạng Internet.

Hệ thống dự tính có các chức năng chính sau:

Page 105: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 101

Trần Văn Vẽ, Lớp 03T1 101

Khả năng phân loại hàng hoá theo các chủng loại, tiêu chí đặt ra

Khả năng sắp xếp thông tin theo nhiều ti êu chí khác nhau

Khả năng tìm kiếm thông tin dễ dàng

Quản lý thông tin liên lạc giữa doanh nghiệp và khách hàng.

Tổng hợp, phân tích và thống kê các truy nhập một cách chi tiết.

Thiết lập các gian hàng trực tuyến với các chức năng nh ư giỏ hàng, đơn đặt

hàng, phiếu nhận xét...

Thiết lập phần giao hàng với chức năng cung cấp chi phí vận chuyển h àng theo

từng khu vực. Có khả năng kết nối với các nh à cung cấp dịch vụ giao nhận,

chuyển phát nhanh.

Thiết lập phần thanh toán cho phép khách h àng lựa chọn việc thanh toán trực

tiếp khi giao hàng, thanh toán chuyển khoản, chuyển tiền bưu điện hoặc các

hình thức thanh toán khác.

Có khả năng kết nối với các hệ thốn g thanh toán trực tuyến.

Đăng tải, quản lý các quảng cáo trên site với hệ thống thống kê đi kèm.

Đăng tải và quản lý các bài viết, tin tức

Thiết lập các hệ thống hỗ trợ khách h àng.

Hỗ trợ đa ngôn ngữ cả ở phần nội dung thông tin v à phần giao diện sử dụng.

Trước mắt khách hàng có thể lựa chọn một trong 2 ngôn ngữ Anh v à Việt.

Hỗ trợ nhiều loại tiền tệ khác nhau thông qua hệ thống tỉ giá chung. Khách

hàng có thể lựa chọn loại tiền thanh toán.

Website được xây dựng làm hai phần riêng biệt: Phần hiển thị và tra cứu thông

tin, mua bán trực tuyến và phần dành riêng cho người quản trị trang web.Ngoài

ra, Website còn cung cấp các tính năng ưu việt nhất của các siêu thị điện tử

Page 106: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 102

Trần Văn Vẽ, Lớp 03T1 102

thông dụng hiện nay, tạo cho khách hàng mua hàng trên mạng cảm giác như

đang được mua sắm tại các cửa hàng thực thụ.

Tìm kiếm, duyệt theo nhóm, ngành hàng, lựa chọn so sánh và mua hàng trực

tuyến (Shopping Cart). Sau khi lựa chọn xong các mặt h àng cần mua, người

mua được lựa chọn cách thức giao hàng- đến tận nơi để lấy hàng hay giao hàng

tại nhà, tại địa điểm do khách hàng chỉ định, phương thức thanh toán: thanh

toán chuyển khoản (qua đường bưu điện, ngân hàng hay các dịch vụ chuyển

tiền), thanh toán ngay cho người giao hàng, thanh toán bằng thẻ tín dụng,...

Khi khách hàng đặt hàng, thư phúc đáp được gửi tự động tới hòm thư của

khách hàng để khẳng định về đơn đặt hàng của khách hàng đã được nhận và

đang chờ xử lý. Thời gian giao hàng được ấn định cụ thể có thông báo tr ước

cho khách hàng.

Trên trang web bán hàng, cho phép t ạo các chương trình khuyến mãi, giảm giá

được thực hiện hàng ngày, theo từng nhóm, ngành hàng bám sát vào các

chương trình giảm giá khuyến mãi của hãng sản xuất hoặc của công ty.

Cho phép xây dựng các chương trình thẻ mua hàng, cho phép các khách hàng

có thểđặt mua các loại thẻ mua hàng có mệnh giá nhất định sauđó sử dụngđể

mua các mặt hàng có trêntrangweb, hoặc có thể gửitặngthẻ mua hàng này cho

người thân, giađình và bạn bèđể sử dụngmua sắm các mặt hàngtuỳ thích

trêntrangweb. Rất thích hợp cho người Việt nam ở nước ngoài muốn mua quà

tặng cho người thân, bạn bèở Việt nam nhưng muốn để người thân của họ tự

lựa chọn mặt hàng tuỳ thích.

Hệ thống Newsletter giúp cho việc cập nhật th ường xuyên và gửi thông tin mới

nhất tới các khách hàng về các sản phẩm mà khách hàng đó quan tâm, về sản

phẩm, thị trường - các sản phẩm mới, sản phẩm khuyến m ãi, giảm giá cho một

hoặc một số mặt hàng; đồng thời khách hàng cũng có thể gửi thư giới thiệu tới

bạn bè về những sản phẩm được họ quan tâm.

Page 107: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 103

Trần Văn Vẽ, Lớp 03T1 103

Hệ thống tìm kiếm tiên tiến trên trang web cho phép: tìm kiếm theo các ngành

hàng, theo nhà sản xuất, theo giá cả và theo thời gianxuất hiệncủa sản phẩm.

Đa ngữ - hỗ trợ Tiếng Anh và Tiếng Việt, đồng tiền sử dụng là VND và USD

hoặc nhiều loại tiền tệ khác nhau, có thể sử dụng v à chuyển đổi song song khi

truy nhập tới từng trang sản phẩm, hệ thống tính thuế linh hoạt theo v ùng lãnh

thổ, hệ thống tính cướcvận chuyển chuyên nghiệp và hệ thống thanh toán online

đa dạng hỗ trợ nhiều cơ chế như thẻ tín dụng, cổng thanh toán điện tử PayPal,

2CO, Authorize.net...

Mặt hàng đa dạng, cho phép hàng nghìn mặt hàng bao gồm nhiều ngành hàng

khác nhau. Cho phép khách hàng có th ể tìm mua nhiều loại mặt hàng cùng một

lúc, thông tin về sản phẩm đầy đủ và có cả hình ảnh cho phép người dùng cảm

nhận tốt nhất về sản phẩm, khách hàng có đầy đủ thông tin trước khi quyết định

mua S/P.

Hệ thống thống kê cho phép định hướng mua sắm tiêu dùng cho khách hàng:

thống kê sản phẩm mới ra mắt, sản phẩm bán chạy, sản phẩm đang có ch ương

trình giảm giá, khuyến mãi, sản phẩm thườngđược mua kèm với các sản phẩm

khác, sản phẩm được bình chọn bởi chính khách hàng tham gia bình chọn, sản

phẩm được chúng tôi giới thiệu, quảng cáo, sản phẩm đ ã được mua trong các

đơn đặt hàng lần trước...

Page 108: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 104

Trần Văn Vẽ, Lớp 03T1 104

PHỤ LỤCThông tin đăng tải :

Ứng dụng “Siêu thị sách trực tuyến” có những tính năng chính sau:

Mục/Trang Tính năng Ghi chú

Giao diện website Hiện tại hệ thống chỉ có duy nhất

một Template, nếu có nhu cầu, tôi

sẽ thiết kế những template phù hợp

với thương hiệu và yêu cầu của

quý khách.

Trang chủ Là trang đầu tiên nhìn thấy khi truy

cập vào website.

Hiện thị tin tức nóng nhất hiện có

trên hệ thống.

Danh mục các sản phẩm mới nhất

Dạnh mục các sản phẩm khuyến

mãi mới nhất

Trang giới thiệu Cung cấp thông tin về doanh

nghiệp, lịch sử hình thành, phương

châm hoạt động, thành tích đạt

được. Nội dung bao gồm cả h ình

ảnh, âm thanh, video clip.

Các trang sản

phẩm

Liệt kê các sản phẩm mà doanh

nghiệp bày bán, sắp xếp theo

catalog, có giới thiệu chi tiết sản

phẩm, hình chụp và hình phóng lớn

Page 109: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 105

Trần Văn Vẽ, Lớp 03T1 105

sản phẩm.

Trang nội quy Đăng các hướng dẫn dành cho

khách hàng khi liên hệ mua hàng

hóa như địa chỉ thanh toán

Trang hỏi/đáp Đăng các thắc mắc và trả lời cho

các câu hỏi mà khách hàng của

doanh nghiệp thường quan tâm.

Hỗ trợ tối đa 10

câu hỏi-trả lời

Trang tin tức Đăng tải các tin tức cập nhật về

hoạt động doanh nghiệp, các

chương trình khuyến mãi, sự kiện

mà doanh nghiệp tham gia.

Tối đa 3 tin tức

Trang liên hệ Form cho phép khách hàng nhập

và gửi yêu cầu trực tiếp vào hộp

mail của Doanh nghiệp.

Các tính năng khác:

Có chức năng tìm kiếm toàn bộ nội dung.

Có chức năng quản trị: cho phép thay đổi nội dung đăng tr ên website.

Có chức năng quản lý và phân quyền người dùng.

Đăng ký với máy tìm kiếm nổi tiếng Google.

Thông tin kỹ thuật :

Loại website Động - được lập trình để có thể thay đổi bổ

sung sau này. Có hiệu ứng javascript, flash.

Máy chủ web Windows OS hoặc Linux OS

Hệ quản trị cơ sở dữ liệu MySQL 5.0.45

Page 110: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 106

Trần Văn Vẽ, Lớp 03T1 106

Ngôn ngữ lập trình PHP 5.2.4

Nền tảng Joomla 1.0.x

Ngôn ngữ thể hiện nội

dung

Tiếng Việt mã hóa theo UTF-8

Page 111: BaoCao Tot Nghiep QT Joomla

Tìm hiểu CMS Joomla, ứng dụng xây dựng si êu thị sách trực tuyến 107

Trần Văn Vẽ, Lớp 03T1 107

TÀI LIỆU THAM KHẢO

[1] Trang web: http://www.joomla.org

[2] Trang web: http://www.joomlaviet.org

[3] Trang web: http://www.vinaora.com

[4] Trang web: http://buaxua.vn

[5] Trang web: http://www.dientuvietnam.vn

[6] Trang web: http://gnu.org

[7] Ebook: Andrew Eddie. Joomla Developer Manual2005. 2000-2005, 168tr.

[8] Phạm Hữu Khang. Xây dựng ứng dụng web bằng PHP & MySQL . Nhà Xuất

Bản Phương Đông 2006.