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 giớ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.
110 trang |
Chia sẻ: ngtr9097 | Lượt xem: 4173 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Tìm hiểu CMS JOOMLA ứng dụng xây dựng siêu thị sách trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠ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: cntt@edu.ud.vn
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ẽ
LỜI CAM ĐOAN
Tôi xin cam đoan :
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.
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ố.
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
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
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
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
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
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
MỞ ĐẦU
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 giớ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.
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.
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ó.
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ể.
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
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, 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:
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.
Đặ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.
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.
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 tin sản phẩm của công ty thông qua hệ thống newsletters.
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
CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
Tổng quan về CMS
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.
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 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.
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.
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)
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
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ầ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.
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
Giới thiệu về Joomla
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, 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.
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)