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

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.

doc110 trang | Chia sẻ: ngtr9097 | Lượt xem: 4173 | Lượt tải: 1download
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)