Tải bản đầy đủ (.pdf) (111 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.47 MB, 111 trang )

ĐẠ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:
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 : 03T1
CBHD : Ks. TRỊNH CÔNG DUY
ĐÀ NẴNG, 05/2008
NHẬN XÉT CỦA GIÁO VI ÊN HƯỚNG DẪN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
…………………………………… …………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………


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

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
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ẽ
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ẽ
Mục lục ii

MỤC LỤC
MỞ ĐẦU ...........................................................................................................8
I. 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 ................................................................ ................................ 10
V.1. Cập nhật thông tin h àng hóa trực tuyến nhanh chóng v à chính xác. ........... 11
V.2. Đặt hàng trực tuyến................................................................ ...................... 11
V.3. Quản lý các đơn đặt hàng trực tuyến, hóa đơn, báo cáo .............................. 11
V.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 .................................................................................... 13
I. Tổng quan về CMS ................................ ................................................................ .. 13
I.1. Giới thiệu CMS ................................ ................................ ........................... 13
I.2. Tính hướng đối tượng trong CMS ................................ ............................... 13
I.3. Mô hình/cấu trúc CMS ................................ ................................ ................ 14
I.4. Mô hình MVC ................................................................ ............................. 14
I.4.1. Tầng lấy dữ liệu ................................ ................................ ....................... 14
I.4.2. Tầng hiển thị ................................ ............................................................ 14
I.4.3. Tầng điều khiển ................................ ................................ ....................... 15
I.4.4. Nhân sự cho mô hình này ................................ ................................ ........ 15
II. Giới thiệu về Joomla................................ ................................ ............................ 15
II.1. Khái niệm Joomla................................ ................................ ........................ 15
II.2. Vài nét về lịch sử phát triển Joomla ................................ ............................ 16
II.3. Các dòng phiên bản của Joomla ................................ .................................. 17
II.4. Kiến trúc của Joomla ................................ ................................ ................... 17
II.5. Đối với người sử dụng cuối ................................ ................................ ......... 18
II.6. Ứng dụng của Joomla ................................................................ .................. 18
III. Một số khái niệm trong Joomla. ................................ ................................ .......... 19

III.1. Front-end và Back-end ................................ ................................ ............ 19
III.1.1. Front-end................................ ................................ ................................ . 19
III.1.2. Back-end ................................ ................................ ................................ .. 20
III.2. Các thành phần mở rộng (Extension) ...................................................... 20
III.2.1. Module................................ ................................ ................................ ..... 20
III.2.2. Component................................ ................................ ............................... 22
III.2.3. Mambot................................ ................................ ................................ .... 24
III.2.4. Menu ................................ ................................................................ ........ 26
III.3. Quản lý nội dung site ............................................................................... 26
III.4. Template ................................ ................................ ................................ .. 28
IV. Quản trị trong Joomla ................................ ................................ .......................... 29
Mục lục iii
IV.1. Tổng quan về phần quản trị ................................ ................................ ..... 29
IV.2. Tạo một chủ đề mới (Section) ................................ ................................. 34
IV.3. Tạo một chuyên mục mới (Category) ................................ ...................... 34
IV.4. Thêm một bài viết (Content Item) ........................................................... 34
IV.5. Cài đặt Component ................................ ................................ .................. 35
IV.6. Cài đặt Mambot ................................ ................................ ....................... 35
IV.7. Cài đặt Module ................................................................ ........................ 35
IV.8. Cài đặt Templates ................................................................ .................... 36
IV.9. Vị trí các module trong template ................................ ............................. 36
IV.10. Thêm một vị trí module vào template ..................................................... 39
IV.11. Quản lý hình ảnh................................................................ ...................... 39
IV.12. Quản lý người dùng (Users) ................................ .................................... 39
IV.13. Thêm một liên hệ................................ ................................ ..................... 40
IV.14. Thêm một module HTML ................................................................ ....... 40
V. Một số thủ thuật để tối ưu và bảo mật Joomla .................................................... 40
V.1. Tăng tốc cho Joomla ................................ ................................ .................... 40
V.2. Cải thiện các truy vấn SQL ................................ .......................................... 41
V.3. Bảo vệ file Configuration.php khỏi các truy cập trái phép .......................... 43

V.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 CMS
JOOMLA ....................................................................................................... 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 ................................ ................................ ................................ ... 53
III.1. Tiến hành Việt hóa Joomla ................................ ...................................... 53
III.2. Cài đặt gói ngôn ngữ cho Joomla ................................ ............................ 55
III.3. Sử dụng JoomFish để xây dựng Website đa ngôn ngữ ............................ 56
IV. Thiết kế Template ................................ ................................................................ 65
IV.1. Vị trí các module và component................................ .............................. 65
IV.2. Cấu trúc Template ................................ ................................ ................... 68
IV.3. templateDetails.xml ................................................................ ................. 69
IV.4. index.php ................................ ................................ ................................ . 71
IV.5. template_css.css................................ ................................ ....................... 73
IV.6. Cài đặt Template................................ ................................ ...................... 80
V. Component ................................................................ ................................ .......... 82
V.1. Cấu trúc chung của một component ................................ ............................ 82
V.2. yourcom.php và yourcom.html.php ................................ ............................. 83
V.3. admin.yourcom.php và file admin.yourcom.html.php ................................ . 85
V.4. toolbar.yourcom.php và toolbar.yourcom.html.php ................................ .... 85
V.5. file.xml................................ ................................ ................................ ......... 86
VI. Thiết kế Modules danh mục sản phẩm ................................................................ 88
VI.1. mod_list_product.xml ................................ ................................ .............. 88
VI.2. mod_list_product.php ................................ ................................ .............. 90
TRIỂN KHAI ỨNG DỤNG ......................................................................... 93
I. Cài đặt website trên web host ................................ ................................ .................. 93
Mục lục iv
II. Kết quả demo................................ ................................ ................................ ....... 96
II.1. Trang chủ................................ ................................ ..................................... 96

II.2. Đăng nhập................................................................ ................................ .... 96
II.3. Lựa chọn mục sản phẩm ................................ ................................ .............. 97
II.4. Chọn sản phẩm vào giỏ hàng....................................................................... 97
II.5. Gửi đơn hàng ................................ ................................ ............................... 98
KẾT LUẬN .................................................................................................... 99
I. Kết quả thu được................................................................ ................................ ...... 99
II. Nhận xét................................................................................................ ............... 99
II.1. Ưu điểm................................ ................................ ................................ ....... 99
II.2. Nhược điểm ................................ ................................ ............................... 100
III. Phạm vi ứng dụng ................................................................ .............................. 100
IV. Hướng phát triển ................................ ................................................................ 100
Mục lục v
DANH MỤC HÌNH
Hình 1: Cấu trúc nội dung website Joomla ................................................................ ............. 27
Hình 2:Nhóm người dùng và điều khiển truy cập ................................................................ ... 34
Hình 3 : Vị trí của các Module ................................ ................................ ................................ 36
Hình 4 : Vị trí của các module mặc định tr ên Joomla ................................ ............................. 37
Hình 5: Xem nhanh vị trí các module................................ ................................ ...................... 38
Hình 6 : Các gói cài đặt XAMPP ................................ ................................ ............................ 47
Hình 7 : Các phiên bản Joomla................................ ................................ ................................ 47
Hình 8 : Các gói phiên bản Joomla 1.0 ................................ ................................ ................... 47
Hình 9 :Khởi động XAMPP ................................ ................................................................ .... 48
Hình 10 : Vào phpMyAdmin ................................................................ ................................ ... 48
Hình 11 : Trang mặc định của phpMyAdmin ................................ ................................ .......... 49
Hình 12 : Tạo cơ sở dữ liệu mới ................................ ................................ .............................. 49
Hình 13 : Bắt đầu cài đặt Joomla................................ ................................ ............................. 49
Hình 14 : Giấy phép sử dụng Joomla ................................ ................................ ...................... 50
Hình 15 : Thông tin kết nối cơ sở dữ liệu................................ ................................ ................ 50
Hình 16 : Thông báo xác nh ận lại thông tin ................................ ............................................ 50
Hình 17 : Đặt tên Site ................................................................ ................................ .............. 51

Hình 18 : Cấu hình url, path, thông tin admin ................................ ................................ ......... 51
Hình 19 : Cài đặt thành công ................................ ................................ ................................ ... 52
Hình 20 : Cài đặt JoomFish ................................ ................................ ................................ ..... 56
Hình 21 : Màn hình JoomFish ................................ ................................ ................................ . 56
Hình 22 : Cài đặt ngôn ngữ ................................ ................................................................ ..... 57
Hình 23 : Kiểm tra ngôn ngữ ................................................................ ................................ ... 57
Hình 24 : Danh mục ngôn ngữ ................................................................ ................................ 57
Hình 25 : Quản lý ngôn ngữ ................................................................ ................................ .... 58
Hình 26 : Quản lý ngôn ngữ ................................................................ ................................ .... 58
Hình 27 : Kích hoạt ngôn ngữ ................................ ................................ ................................ . 59
Hình 28 : Kích hoạt ngôn ngữ ................................ ................................ ................................ . 60
Hình 29 : Thứ tự ngôn ngữ ................................ ................................ ...................................... 60
Hình 30 : Lưu ngôn ngữ ................................................................ ................................ .......... 60
Hình 31 : Điều chỉnh chuẩn ngôn ngữ ................................ ................................ ..................... 62
Hình 32 : Chọn hiển thị module chọn ngôn ngữ ................................ ................................ ..... 63
Hình 33 : Dịch bài viết và thành phần trong Joomla ............................................................... 64
Hình 34 : Mặc định trong JoomFish ................................ ........................................................ 65
Hình 35 : Vị trí module và component mà joomla cung c ấp................................ ................... 66
Hình 36 : Danh sách vị trí module và component ................................ ................................ ... 66
Hình 37 : Vị trí module và component ................................ ................................ .................... 67
Hình 38 : Đoạn mã tạo vị trí module và component ................................ ............................... 68
Hình 39 : Tập các file của template ................................................................ ......................... 69
Hình 40 : Thành phần CSS mặc định của Joomla ................................ ................................ ... 74
Hình 41 : Cài đặt Front end template ................................ ...................................................... 81
Hình 42 : Cài đặt Front end template 1 ................................ ................................ ................... 81
Hình 43 : Danh mục các template ................................ ................................ ........................... 82
Hình 44 : Thanh công cụ của Joomla ................................ ................................ ...................... 85
Hình 45 : Phần quản lý host................................ ................................................................ ..... 93
Mục lục vi
Hình 46 : Tạo cơ sở dữ liệu mới ................................ ................................ .............................. 93

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

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 g iả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 t hậ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.
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 n hữ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ó.

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,
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óng
và 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ến
Khá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áo
Hệ 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.
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
13
CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
I. Tổng quan về CMS
I.1. Giới thiệu CMS
Chú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 CMS
Trong 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 t heo 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ụn g 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.
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 CMS
Trong 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 MVC
Mô 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ị
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 Joomla
Joomla! 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,
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 we bsite 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 Joomla
Joomla 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
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 Joomla
Hiệ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 Joomla
Joomla gồm có 3 tầng hệ thống:
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ối
Việ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:

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 Joomla
Joomla! đã đượ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 !
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ủ.
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/a dministrator.
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
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

×