XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này, lời đầu tiên em xin chân thành cảm ơn các
thầy giáo, cô giáo Khoa Công nghệ thông tin Trường Đại học Vinh, những người đã dạy
dỗ, trang bị cho em những kiến thức bổ ích trong bốn năm học vừa qua.
Em xin bày tỏ lòng biết ơn sâu sắc nhất tới cô giáo Nguyễn Thị Minh Tâm, người
đã tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực tập và làm đồ án.
Nhân dịp này em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, những người
thân đã cổ vũ, động viên tiếp thêm cho em nghị lực để em hoàn thành đồ án tốt nghiệp.
Mặc dù đã cố gắng hoàn thành đề tài đồ án với tất cả sự nỗ lực của bản thân nhưng
chắc chắn không tránh khỏi những thiếu sót nhất định, kính mong sự tận tình chỉ bảo của
các thầy cô.
Sinh viên thực hiện
Lê Văn Cường
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 1
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
LỜI NÓI ĐẦU
Trước nhu cầu thực tiễn của một đơn vị sản xuất hàng hóa muốn quảng bá sản
phẩm của mình đến đông đảo người dùng. Việt xây dựng một showroom cũng như một hệ
thống cửa hàng bán lẻ là một giải pháp khá tốt để giải quyết nhu cầu này, tuy nhiên với
giải pháp này thì chi phí đầu tư khá lớn kèm theo đó là một hệ thống nhân viên bán hàng,
vì vậy với giải pháp này cần đầu tư khá lớn. Mặt khác với việc mất một khoảng thời gian
cũng như phương tiên để tới cửa hàng chọn mua sản phẩm, việc này làm khách hàng mất
2.1 Giới thiệu sơ đồ website.................................................................................30
2.2 Giới thiệu các module sử dụng trong website:...............................................31
2.3 Một số hình ảnh minh họa:.............................................................................32
.................................................................................................................................33
Trang chủ.................................................................................................................33
.................................................................................................................................34
Sản phẩm sữa nhập khẩu.........................................................................................34
.................................................................................................................................35
Một số đồ dùng cho bé............................................................................................35
3 KẾT LUẬN...........................................................................................................36
TÀI LIỆU THAM KHẢO.......................................................................................38
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 3
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
1 CHƯƠNG 1 TÌM HIỂU VỀ JOOMLA
1.1 Giới thiệu sơ lược về Joomla
- Joomla là gì?
Là một hệ quản trị nội dung mã nguồn mở. 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. 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à
cho dự án mã nguồn mở còn chưa được đặt tên của họ. Cùng lúc đó, nhóm phát triển cũng
lập một website lấy tên OpenSourceMatters để phân phối thông tin tới những người sử
dụng, những người phát triển, những người thiết kế và cộng đồng Joomla nói chung.
Người đứng đầu dự án chính là Andrew Eddie.
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 đà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 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.
1.3 Kiến trúc Joomla
1.3.1 Component
Khái niệm:
Component là một thành phần mở rộng lớn nhất và phức tạp nhất của Joomla
CMS. Nó phụ thuộc các mẫu thiết kế trong quá trình sử dụng .Các component có thể xem
như là các ứng dụng con và nếu joomla là một hệ điều hành thì các component là các ứng
dụng desktop.
Ví dụ: Component nội dung (com_content) là một ứng dụng mini xử lý tất cả các
vấn đề về nội dung được trả lại như thế nào mỗi khi có yêu cầu duyệt nội dung được đưa
ra.
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 5
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
• View/hello/tmpl/default.php: file này là template cho đầu ra, hiển thị lên site
• Hello.xml: đây là một file XML nói cho joomla biết cách cài đặt component như
thế nào
Tuy nhiên đó chỉ là mô hình View-Controller đơn giản, không tuân theo mẫu MVC
một cách chính xác, bởi View chỉ được hiển thị dữ liệu chứ không chứa nó. Khi đó ta sẽ
chuyển dữ liệu ra khỏi View và đưa nó vào Model. Component lúc này sẽ cần thêm các
file:
• Models/hello.php
Nếu có thêm phần quản trị, sẽ có thêm thư mục admin cũng chứa các thư mục như
controllers, models, views có các file tương tự như phần site và một số file/thư mục đặc
biệt như: file SQL (cài đặt và gỡ bỏ bảng trong CSDL), thư mục tables, v.v.. Trong bài
này, chúng ta sẽ lấy ví dụ xây dựng 1 component là Hello hiển thị một lời chào lấy từ
CSDL
Một số Component được tích hợp sẵn trong Joomla.
- Banner.
- Contacts.
- News Feeds.
- Polls.
- Web Links.
a. Banner:
Component này cho phép hiển thị những banner kế tiếp nhau trên site.
Những banner có thể hiển thị trên site đơn giản bằng cách publish banner cùng một lần
khi nó đã được tạo thông qua tiến trình bên dưới. Nó cũng cần thiết để ghi chú mà những
banner có thể được tắt trong Global Configuration (được bật mặc định) và chỗ đặt chúng
phụ thuộc vào tempalate được dùng trên site.
+ Những thành phần chính Trong Banner:
Banners:
LÊ VĂN CƯỜNG 49K - CNTT
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 9
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Như thế thì quá trình quản lí với site cũng dễ dàng hơn vì tùy vào mục đích của
người dùng có thể cần đến liên hệ với quản lí . nhưng cũng có thể có vấn đề khác cần liên
hệ trực tiếp với quản trị viên.
c. News Feeds
Một News Feeds là 1 thông tin được hiển thị trên site. Nó thường được hiển thị
trong 1 text box để làm nổi bật lên trang đó.
Chức năng của Feeds khá là quan trọng, nó giúp chúng ta có thể lấy thông tin từ
các site khác, Những nội dung đó sẽ được hiển thị ngay trên trang của chúng ta.
New Feeds bao gồm :
+ Feeds: Quản lí Feeds.
Bạn có thể thực hiện các chức năng như thêm, sửa , xóa, hiện thị Feeds thông qua
các thao tác như: New, Edit, Delete, Public hoặc Unpublic...
+ Feed categories: Phân Loại Feed.
Chức năng này giúp chúng ta phân biệt được các loại Feeds sẽ nhận từ các site
khác
d. Polls:
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 10
Trong Contact manager chọn thẻ New
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 12
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Thông tin về liên hệ:
Đây là nơi để quản lí điền các thông tin cho người dùng có thể biết được 1 số
thông tin cũng như site sẽ xử lí để đưa các thông tin người dùng muốn liên hệ với các
quản lí .
Ở đây quản lí phải chọn các thuộc tính sao cho phù hợp với yêu cầu, mục đích của
liên hệ đó . ví dụ ở đây là thông tin để liên hệ thuộc categories : contacts.
Tiếp đến là Save .
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 13
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Như vậy 1 component đã được thêm vào. Bây giờ chúng ta hãy cùng xem kết quả
hiện thị của nó lên site.
Như vậy với việc sử dụng Component contacts có sẵn chúng ta đã có thể có 1
thông tin liên hệ để người dùng có thể liên hệ quảng cáo với quản trị site.
Để Triển khai 1 Module cần các bước sau :
Tại Modules manager chọn New.
Tiếp theo chọn kiểu modules cần hiển thị - ở đây ta chọn là Modules menu và chọn
Next.
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 16
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Thiết lập 1 vài thông số cơ bản:
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 17
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Kết quả sẽ hiện thị ra site :
1.3.3 Plugins.
Khái Niệm:
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 18
có thể là 1 Plugins mới mà ta vừa phát triển. Sau đây chúng ta xem như Plugins cần sử
dụng là 1 Plugins mới vừa được phát triển thì các cài đặt của nó như sau:
Nguồn File Plugins:
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 19
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Để có thể cài 1 Plugins mới vào Joomla thì Plugin đó thường được đóng gói bằng
các dạng mở rộng là .zip hoặc .gz.
Cài Đặt plugins:
Chọn Extensions -> Install/Uninstall từ menu trong menu quản trị.
Khi đó sẽ xuất hiện bảng sau :
Ở đây ta có thể tùy chọn file Plugins ở đâu. Có thể là trên máy bạn cũng có thể là
từ 1 thư mục có sẵn hay là trên địa chỉ của website. Giả sử ta sẽ install Plugins đó tử 1 file
trên máy khi đó ta chọn Browse.
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 20
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Sau đó chọn Plugins cần cài đặt và chọn Open -> Chọn Upload File & Install.
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 23
XÂY DỰNG WEBSITE BÁN HÀNG BĂNG MÃ NGUỒN MỞ JOOMLA
Cách thức hoạt động của 1 Plugins: Như chúng ta đã biết chức năng chính của 1
Plugins là hỗ trợ 1 phần công việc cho Components, Modules,... Sau đây ta hãy cùng tìm
hiểu về cách thức của nó.
VD : Nghiên cứu về Plugins Search trong joomla:
Plugins Search này sẽ giúp bạn trong việc tìm kiếm các thông tin, cũng như nội
dung tương tự mà bạn muốn tìm trong site thông qua components Search.
Khi bạn thực hiện 1 công việc tìm kiếm thì Components sẽ đảm nhiệm việc tìm
kiếm. Components này sẽ sử dụng 1 Plugin trong Joomla đó là Plugins Search để thao tác
tìm kiếm .
Bạn hãy xem đoạn code sau đây trong Components Search :
Đây là đoạn code để thực hiện việc tìm kiếm và ở đây ta thấy có đoạn code :
JPluginHelper::importPlugin ('search');
Code này sẽ gọi đến Plugins Search để thực hiện 1 số hàm có sẵn trong Plugins .
Như vậy Plugins Search chiếm 1 vị trí khá là quan trọng trong quá trình tìm kiếm
nếu không có Plugin này thì kết quả của việc tìm kiếm sẽ thất bại ( có thể không cho kết
quả hoặc báo lỗi trong quá trình tìm kiếm do Component đảm nhiệm ).
LÊ VĂN CƯỜNG 49K - CNTT
TRANG 24