Tải bản đầy đủ (.docx) (50 trang)

Xây dựng website bán hàng www smartcare vn

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 (3.84 MB, 50 trang )

Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN
1. GIỚI THIỆU VỀ MÃ NGUỒN MỞ
1.1. Khái niệm
Mã nguồn mở là thuật ngữ chỉ các sản phẩm phần mềm công khai mã nguồn (source
code), được một nhóm người, một tổ chức hay được cộng đồng phát triển không vì mục đích
thương mại. Do đó người dùng không phải trả bất kì chi phí nào, hơn thế nữa họ có quyền
xem, sửa đổi, cải tiến, nâng cấp để sử dụng theo một số nguyên tắc chung quy định trong giấy
phép phần mềm nguồn mở General Public Licence – GPL.
Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên được thay
thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơn cho giới
doanh nghiệp
1.2. Lợi ích và hạn chế
1.2.1. Lợi ích
- Chi phí thấp: Phần mền mã nguồn mở được dùng miễn phí về bản quyền và nếu có
chi phí thì cũng chỉ là chi phí cho đóng gói sản phẩm và dịch vụ cho sản phẩm. Vì vậy, chi phí
rất thấp so với các phần mềm thương mại.
- Tính thích ứng và sáng tạo: Thực tế đã cho thấy rất ít chương trình có thể tồn tại
không cần thay đổi, nâng cấp trong một thời gian dài. Vì thế, khả năng cho phép lập trình viên
xác định và sửa các lỗi cũng như thích ứng phần mềm với các yêu cầu mới phát sinh là một
vấn đề rất quan trọng. Sự sẵn sàng có mã nguồn và có quyền thay đổi chúng giúp cho công
việc này dễ dàng hơn. Việc có được mã nguồn cũng giúp những nhà lập trình sáng tạo ra phần
mềm riêng của mình, đặc biệt đối với thế hệ trẻ và các doanh nghiệp phục vụ các yêu cầu đa
dạng của khách hàng.
- Chất lượng tin cậy: Nhiều phần mềm có chất lượng và độ tin cậy cao. Các phần
mềm mã nguồn mở khi đã hoàn thành thông thường sẽ được thử nghiệm, đánh giá, phát hiện
lỗi và hoàn thiện bổ sung bởi rất nhiều nhà phát triển khác nhau trên toàn thế giới và công việc
này cũng không bị áp lực về thời gian. Các nhà sản xuất phần mềm thương mại lại thường
công bố thời điểm ra đời của một phiên bản nào đó rồi sau đó buộc phải tung ra thị trường
những sản phẩm vẫn còn có lỗi để giữ đúng thời hạn đã công bố.
- Tính lâu dài: Phần mềm mã nguồn mở không có một chủ sở hữu duy nhất là lý do


bảo đảm để không ai có thể làm ngừng hoặc “giết chết” sản phẩm này. Việc sản phẩm bị
Trang 1
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
ngừng hay bị “giết chết” dễ dàng xảy ra đối với phần mềm thương mại như ở trong các trường
hợp sau: công ty bị phá sản, hoặc sát nhập, hoặc bán lại cho một công ty khác, hoặc thay đổi
chiến lược và phương hướng kinh doanh. Do đó người sử dụng phần mềm mã nguồn mở sẽ
không bị lo ngại xảy ra trường hợp bị bắt buộc chuyển sang giải pháp khác như đối với phần
mềm thương mại khi nhà cung cấp phần mềm thương mại quyết định ngừng hỗ trợ kỹ thuật.
- Phát triển dễ dàng: Những dự án và phát triển phần mềm mới có thể được thực hiện
mà không cần phải xin phép ai trước khi triển khai. Việc này phù hợp với các kỹ thuật phát
triển mới: tạo ra giải pháp bằng cách tập hợp nhiều đối tượng đã có mà không sợ rủi ro bị
ngừng giữa chừng vì những hạn chế pháp lý và những qui định về sở hữu trí tuệ đối với phần
mềm.
1.2.2. Hạn chế
- Đa dạng và phức tạp : Cộng đồng mã nguồn mở đã phát triển nhiều ứng dụng đa
dạng với những chức năng tương tự nhau. Điều này gây khó khăn cho những người mới sử
dụng trong việc chọn lựa.
- Sự dư thừa: Sự chia nhánh mã nguồn có thể dẫn đến sự lãng phí trong quá trình phát
triển nó. Nếu các nguồn phát triển được kết hợp và tổ chức lại một cách tốt hơn thì hiệu suất sẽ
được nâng cao.
- Thiếu các ứng dụng: Vẫn còn những lĩnh vực vắng bóng các phần mèm mã nguồn
mở. (Ví dụ: một trình biên soạn HTML như MS Frontpage)
- Bất tiện: Mã nguồn mở thường chỉ tập trung vào các mã của nó mà ít chú ý đến thiết
kế giao diện và phát triển các tiện ích.
- Tính tương hỗ với các hệ thống phần mềm đóng: Các phần mềm nguồn mở, nhất là
khi cài trên máy để bàn, thường không hoàn toàn tương thích với phần mềm đóng.
2. GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ HỆ CƠ SỞ DỮ LIỆU
MYSQL
2.1. Giới thiệu về ngôn ngữ lập trình PHP
2.1.1. PHP là gì?

Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page và được phát triển
từ năm 1994 bởi Rasmus Lerdorf. Lúc đầu chỉ là bộ đặc tả Perl, được sử dụng để lưu dấu vết
người dùng trên các web. Sau đó Rasmus Lerdorf đã phát triển PHP như là một máy đặc tả
(Scripting engine). Vào giữa năm 1997, PHP đã phát triển nhanh chóng trong sự yêu thích của
nhiều người. PHP đã không còn là một dự án cá nhân của Rasmus Lerdorf và đã trở thành
Trang 2
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
công nghệ web quan trọng. Zeev Suraski và Andi Gutmans đã hoàn thiện việc phân tích cú
pháp cho ngôn ngữ để rồi tháng 6 năm 1998, PHP3 đã ra đời (phiên bản này có phần mở rộng
là *.php3). Cho đến tận thời điểm đó, PHP chưa 1 lần được phát triển chính thức, một yêu cầu
viết lại bộ đặc tả được đưa ra, ngay sau đó PHP4 ra đời (phiên bản này có phần mở rộng
không phải là *.php4 mà là *php). PHP4 nhanh hơn PHP3 rất nhiều. PHP bây giờ được gọi là
PHP Hypertext PreProcesor. Tính đến thời điểm hiện thời, phiên bản PHP ổn định mới nhất là
5.3.5.
2.1.2. Tại sao phải sử dụng PHP?
Như chúng ta đã biết, rất nhiều website được xây dựng bởi ngôn ngữ HTML
(Hypertext Markup Language). Đây chỉ là những website tĩnh, nghĩa là chứng chỉ chứa đựng
một nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh và có thể được hỗ trợ bởi
ngôn ngữ JavaScript hoặc Java Apple. Tuy nhiên, website cần được cập nhật nội dung một
cách linh hoạt dễ dàng, vì vậy nó cần tới cơ sở dữ liệu. Các website như vậy được gọi là
website động. Bởi nội dung của chúng luôn thay đổi tuỳ thuộc vào dữ liệu và người sử dụng.
PHP là ngôn ngữ đáp ứng được những yêu cầu trên. Bằng cách chạy chương trình PHP trên
máy chủ Web Sever, chúng ta có thể tạo ra ứng dụng có sự tương tác với cơ sở dữ liệu.
Chúng ta hãy xem xét cách hoạt động của những trang web được viết bằng ngôn ngữ
HTML và PHP như thế nào:
- Với các trang HTML
Khi có yêu cầu tới mọi trang web từ phía người sử dụng (browser). Web server thực
hiện ba bước sau:
+ Đọc yêu cầu từ phía browser.
+ Tìm trang web trên server.

+ Gởi trang web đó trở lại cho browser nếu tìm thấy.
Trang 3
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Hình 1: Hoạt động của website viết bằng HTML
- Với các trang PHP
Khác với các trang HTML, khi một trang PHP được yêu cầu, web server phân tích và
thi hành các đoạn mã PHP để tạo ra trang HTML. Điều này được thực hiện bằng bốn bước
sau:
+ Đọc yêu cầu từ phía browser.
+ Tìm trang web trên server.
+ Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dung của trang.
+ Gửi nội dung cho browser ở dạng HTML
Hình 2 Hoạt động của website viết bằng PHP
Trang 4
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Tóm lại, sự khác nhau giữa HTML và PHP là HTML không được thực hiện xử lý trên
máy chủ Web server còn các trang viết bằng mã PHP được thực hiện và xử lý trên máy chủ
Web server, do đó PHP linh động và mềm dẻo hơn.
2.1.3. Những điểm mạnh của PHP?
- PHP thực hiện với tốc độ rất nhanh và hiệu quả. Một Server bình thường có thể đáp
ứng được hơn hàng chục triệu truy cập trong một ngày.
- PHP hỗ trợ kết nối tới rất nhiều CSDL khác nhau như PostgreSQL, Microsoft SQL
Server, Oracle, dbm, filePro Ngoài ra còn hỗ trợ kết nối tới ODBC thông qua đó có thể kết
nối với nhiều ngôn ngữ khác mà ODBC hỗ trợ.
- PHP cung cấp một hệ thống thư viện phong phú và ngày càng phát triển. Do PHP
ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nên
PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc rất dễ dàng: gửi, nhận
mail, làm việc với cookie…
- PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với các ngôn
ngữ khác như Perl, Java.

- Đặc biệt, PHP là ngôn ngữ mã nguồn mở. Có rất nhiều phần mềm website mã nguồn
mở được viết trên nền tảng của PHP như Joomla, Drupal, Nukeviet
2.2. Giới thiệu về hệ quản trị CSDL Mysql
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các
nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu
tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung
cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất
thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên internet. MySQL miễn phí hoàn
toàn, có rất nhiều phiên bản cho các hệ điều hành khác nhau: Phiên bản Win32 cho các hệ điều
hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix,
Solaris, SunOS, …
Sự kết hợp tuyệt vời giữa PHP và MySQL đã cho ra đời phần mềm mã nguồn mở
Joomla.
Trang 5
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Các đặc điểm của MySQL:
1. MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
2. MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong nhóm
LAMP (Linux - Apache -MySQL - PHP)
3. MySQL là một hệ quản trị nhỏ, bảo mật và rất dễ sử dụng. Thường sử dụng cho các
ứng dụng nhỏ và trung bình. Nó được sử dụng cho các ứng dụng client-server với máy chủ
mạnh như UNIX, Windows, và đặc biệt là máy chủ UNIX.
4. MySQL hỗ trợ các điểm vào là ANSI 92 và ODBC mức 0-2 SQL chuẩn.
5. MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi như: Czec, Dutc, English,
Estonia, Polish, Porugue, Spanish and Swedish. Ngôn nữ được hỗ trợ mặc định cho dữ liệu là
ISO-8859-1(Latin1).
6. Ngôn ngữ lập trình được sử dụng để viết các hàm API để nhập cơ sở dữ liệu
MySQL có thể là C, Perl, PHP
7. Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc độ xử lý cao hơn tới ba bốn lần so

với các hệ quản trị cơ sở dữ liệu khác.
8. MySQL không cho phép thực hiện các câu lệnh SQL select truy vấn con.
9. MySQL không hỗ trợ Stored Procedures, Triggers, Transactions, Foreign Keys và
Views như các hệ quản trị cơ sở dữ liệu khác.
3. HỆ QUẢN TRỊ NỘI DUNG JOOMLA
3.1. Giới thiệu hệ quản trị nội dung
Hệ quản trị nội dung hay còn gọi là hệ thống quản lý nội dung (CMS - Content
Management System) là phần mềm để tổ chức và tạo môi trường cộng tác thuận lợi nhằm mục
đích xây dựng một hệ thống tài liệu và các loại nội dung khác một cách thống nhất. Mới đây,
thuật ngữ này liên kết với chương trình quản lý nội dung của website. Quản lý nội dung web
(web content management) cũng đồng nghĩa như vậy.
Các đặc điểm cơ bản của CMS bao gồm:
- Phê chuẩn việc tạo hoặc thay đổi nội dung trực tuyến.
- Chế độ Soạn thảo WYSIWYG tiện lợi.
- Quản lý người dùng.
- Tìm kiếm và lập chỉ mục.
- Lưu trữ.
- Tuỳ biến giao diện.
- Quản lý ảnh và các liên kết (URL).
Trang 6
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Với sự phát triển nhanh chóng hiện nay của internet, nếu chúng ta có một website mà
không có chức năng thay đổi, cập nhật nội dung mới, chúng ta sẽ trở nên tụt hậu và gặp khó
khăn trong việc cập nhật nội dung cũng như quảng bá hình ảnh công ty, tổ chức. Ý tưởng cho
một website với hệ thống quản trị nội dung (Content Management Systems – CMS) được ra
đời nhằm đáp ứng nhu cầu trên. Và đặc biệt là sự xuất hiện của mã nguồn mở Joomla CMS.
Chúng ta có thể thấy được sức mạnh của hệ quản trị nội dung trong loại mã nguồn mở này.
3.2. Giới thiệu sơ lược về Joomla
3.2.1. Joomla là gì?
Joomla là một nền tảng mã nguồn mở được viết bằng ngôn ngữ PHP và sử dụng cơ

sở dữ liệu MySQL, cho phép người dùng có thể dễ dàng soạn thảo và xuất bản các nội dung
(bài viết, tài liệu ) của họ lên Internet hoặc Intranet.
Joomla giúp xây dựng và triển khai các website blog, website tin tức, website bán
hàng, website thương mại điện tử cho tới mạng cộng đồng, mạng xã hội trong một thời gian
ngắn và tiết kiệm nhiều công sức.
Joomla được phát âm theo tiếng Swahili như là jumla nghĩa là "đồng tâm hiệp lực".
Khẩu ngữ này khẳng định sự đoàn kết và quyết tâm của cộng đồng Joomla
3.2.2. Tại sao sử dụng Joomla?
Joomla là mã nguồn mở và được cung cấp hoàn toàn miễn phí.
Joomla là nền tảng mã nguồn mở được xây dựng và đóng góp bởi những chuyên gia
hàng đầu và những thành viên tích cực khác.
Joomla có một cộng đồng phát triển cũng như sử dụng rất lớn. Điều đó có nghĩa là
ngay khi bạn gặp vấn đề khó khăn, rất nhiều người tình nguyện sẵn sàng giúp đỡ bạn.
Joomla giúp tiết kiệm thời gian và công sức thiết kế Website
Sử dụng Joomla rất dễ dàng và thân thiện đối với cả những người nghiệp dư và các
chuyên gia.
Joomla cung cấp rất nhiều chức năng ở các lĩnh vực khác nhau thông qua các thành
phần mở rộng được phát triển bởi các hãng thứ ba, trong khi phần lớn trong số chúng cũng đều
có mã nguồn mở và miễn phí.
Joomla có một số lượng template (giao diện) khổng lồ, từ những giao diện ở mức đơn
giản cho tới phức tạp.
Joomla có hàng trăm website cung cấp các tài liệu hướng dẫn sử dụng từ cơ bản cho
tới nâng cao. Các hướng dẫn đều rõ ràng, dễ hiểu và có các minh họa bằng hình ảnh, video
clip kèm theo.
Trang 7
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Tài liệu API dành cho lập trình viên, phát triển viên được cung cấp đầy đủ.
Các hoạt động của Joomla như triển lãm Joomla (Joomla Exhibition), hội thảo Joomla
(Joomla Workshop), ngày hội Joomla (Joomla! Day) được tổ chức thường niên ở các thành
phố lớn của các nước như Úc, Mỹ, Anh, Pháp luôn thu hút đông đảo các thành viên tham gia.

3.2.3. Các thành phần chính của một website JOOMLA
Trang 8
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Một website Joomla bao gồm 2 thành phần chính, đó là Front-end và Back-end.
Hình 3 : Các thành phần chính tạo nên Joomla
Trang 9
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Trong đó:
- Trang Front-end: là trang mà người dùng có thể thấy, tương tác được với website joomla của
bạn.Người dùng có thể đăng nhập, đăng ký, đăng các bài viết, tùy chọn một số chức năng trên
site… nếu như việc phân quyền cho phép (giống trang user).
- Trang Back-end: là administrator site (trang quản trị), khi đăng nhập vào trang này thì có
quyền tùy chỉnh tất cả các component của site như: modules, extensions, phân quyền truy cập
site…bằng các Tools mà Joomla hỗ trợ sẳn.
Hình 4 : Quy trình hoạt động của website Joomla
Đầu tiên, người truy cập sẽ gửi yêu cầu của mình từ một trang web Joomla, server
Apache sẽ gọi (tìm) đến trang Joomla mà người dùng yêu cầu. Sau đó hệ quản trị cơ sở dữ liệu
MySQL Database sẽ cung cấp dữ liệu từ Databse kết hợp với giao diện (template) tương ứng
của Joomla để thể hiện nội dung. Hai thành phần Data và Template sẽ được trình biên dịch
PHP tổng hợp lại nội dung tạo thành một trang có dữ liệu và giao diện tương ứng , cuối cùng
là trả về cho server Apache và server Apache sẽ trả về cho người dùng trang mà họ yêu cầu
trước đó.
Hình 5: Tình hình sử dụng Joomla ở Việt Nam
Trang 10
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Kể từ khi Joomla 1.0 ra đời vào tháng 09/2005, có hàng nghìn thậm chí hàng chục
nghìn website ở Việt Nam đã được xây dựng trên nền tảng Joomla! Và con số này vẫn đang
tiếp tục tăng không ngừng. Nhiều người từng là quản trị viên của diễn đàn Joomla Việt đầu
tiên đã thành lập các công ty chuyên thiết kế website Joomla và đang gặt hái những thành
công bước đầu. Một vài người khác thậm chí đã vượt qua hàng trăm công ty tên tuổi khác trên

thế giới để trở thành công ty hàng đầu về cung cấp template, dịch vụ gia công cho Joomla! Với
doanh thu ước tính từ hàng tỷ cho tới hàng chục tỷ đồng mỗi năm.
So với các nền tảng mã nguồn mở từng gây tiếng vang ở Việt Nam như dòng nuke
(PostNuke, phpNuke, NukeViet, DotNetNuke) hay Plone, Xoops thì Joomla hiện là nền tảng
phát triển nhanh nhất, được sử dụng nhiều nhất và có một cộng đồng lớn mạnh nhất.
- Các Phiên Bản Của Joomla
Hiện Joomla có 3 phiên bản chính:
+ Joomla 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 còn gọi là Joomla 1.0.0
được phát hành vào ngày 15 tháng 09 năm 2005) 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).
Phiên bản cuối cùng của dòng này là: Joomla 1.0.15 (phát hành vào ngày 21 tháng 02
năm 2008). Đến nay, Joomla đã ngừng hỗ trợ và phát triển dòng phiên bản 1.0.X này.
+ Joomla phiên bản 1.5.X
Phiên bản đầu tiên của dòng này (thế hệ thứ 2) là Joomla 1.5.0 được phát hành vào
ngày 21 tháng 1 năm 2008. Phiên bản này bắt đầu hỗ trợ bộ ký tự UTF8. Các phiên bản tiếp
theo có dạng 1.5.X.
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ũ) được coi như Mambo 4.6. 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).
Cả Joomla 1.5 và Mambo 4.6 đều hỗ trợ đa ngôn ngữ. Joomla thì sử dụng file định
dạng ".ini" để lưu các thông tin chuyển đổi ngôn ngữ, còn Mambo thì sử dụng file định dạng
".gettext". 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.
Trang 11
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Joomla 1.5 cũng bao gồm các đặc tính mới như các mô hình chứng thực (LDAP,
Gmail ), hỗ trợ mô hình khách-chủ xml-rpc. Nó cũng hỗ trợ các trình điều khiển cơ sở dữ liệu

dành cho MySQL 4.1+ (trên nền PHP 5) và tăng cường hỗ trợ cho MySQL 5, cũng như hỗ trợ
các loại cơ sở dữ liệu khác.
Đ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. Phiên bản mới nhất của dòng này là:
Joomla 1.5.26 (phát hành vào ngày 27 tháng 03 năm 2012) đã ngừng phát triển và chỉ đang
được hỗ trợ cập nhật các bản vá bảo mật. Bản cài đặt nhanh đã tích hợp tiếng Việt.
+ Dòng phiên bản 2.5.x
Phiên bản đầu tiên của dòng này lại bắt đầu từ phiên bản Joomla 1.6.0 phát hành vào
ngày 10 tháng 01 năm 2011. Nhưng chỉ trong vòng 6 tháng với 4 bản cập nhật liên tục tới
phiên bản 1.6.4 vào ngày 27 tháng 06 năm 2011.
Phiên bản 1.6.6 phát hành vào ngày 26 tháng 07 năm 2011 đã đánh dấu sự kết thúc
của dòng 1.6 và chỉ cập nhật vì lý do bảo mật dành cho các trang web không thể cập nhật lên
phiên bản 1.7 vì lý do khách quan. Theo đó, phiên bản 1.7.0 nhanh chóng được phát hành vào
ngày 19 tháng 07 năm 2011. Đến lượt phiên bản 1.7 lại kết thúc chu kỳ sống ngắn ngủi vào
ngày 24 tháng 02 năm 2012 tại phiên bản 1.7.5 và nhường chỗ cho dòng phiên bản 2.5
Dòng phiên bản 2.5.0 được phát hành vào ngày 24 tháng 01 năm 2012 hứa hẹn một
kỷ nguyên mới của Joomla với tính năng cực kỳ vượt trội như: tự động cập nhật qua nút bấm
trong phần quản trị, hỗ trợ SEO mạnh hơn và đặt biệt phân quyền sâu hơn với từng nhóm
thành viên. Phiên bản mới nhất hiện nay của dòng này là 2.5.6 được phát hành vào ngày 19
tháng 06 năm 2012.
+ Dòng phiên bản 3.0.x
Đang ở giai đoạn Joomla 3.0 Alpha - 1 được phát hành vào ngày 12 tháng 07 năm
2012.
Các giải thưởng quốc tế mà Joomla đã đạt được
Tháng 10 năm 2007, hệ quản trị nội dung mã nguồn mở PHP tốt nhất do Packt
Publishing trao tặng. Tháng 11 năm 2006, hệ quản trị nội dung mã nguồn mở tốt nhất do Packt
Publishing công bố. Tháng 10 năm 2006, dự án mã nguồn mở / Linux tốt nhất tại triển lãm
LinuxWorld 2006 ở Anh. Tháng 10 năm 2005, dự án mã nguồn mở / Linux tốt nhất tại triển
lãm LinuxWorld 2005 ở Anh.
Trang 12

Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
4. THÀNH PHẦN MỞ RỘNG TRONG JOOMLA
Thành phần mở rộng (extensions) là gói cài đặt thêm để mở rộng chức năng ngoài các
chức năng cốt lõi của Joomla. Trong Joomla, có năm loại thành phần mở rộng.
4.1. Component
Joomla Component là một trong các loại thành phần mở rộng quan trọng nhất của
Joomla và thực chất nó là một ứng dụng trong hệ thống Joomla. Component được sử dụng để
thực hiện một chức năng lớn nào đó, chẳng hạn như: Cung cấp tin tức, quảng cáo, rao vặt, đặt
phòng khách sạn, bất động sản, download
Một component được hiển thị ở phần trung tâm, hay phần chính (mainbody) của
Website.
Hình 6: Menu quản lý các Component của Joomla
- Các Component mặc định của Joomla
Trong phiên bản Joomla 2.5 có tất cả 11 component mặc định được cung cấp kèm
theo. Các component này được đặt trong thư mục [Joomla]/component và được nằm trong thư
mục con tương ứng với ký hiệu là “com_xyz”.
- Cài đặt Joomla Component
Giống như các thành phần mở rộng khác (module, lugin, templete, ) để cài đặt một
Joomla component, chúng ta mở trang quản trị và sử dụng menu Extension>>intall/unistall.
Trang 13
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
4.2. Module
Joomla Module là một trong các thành phần mở rộng của Joomla, nó là một ứng dụng
nhỏ (thường chỉ có vài file và phần lập trình cũng không nhiều) được sử dụng chủ yếu để lấy
dữ liệu và hiển thị thông tin. Module thường được dùng kết hợp kèm với các component nhằm
mở rộng, cũng như thể hiện rõ ràng hơn các chức năng của component.
Không giống như component, một module có thể được đặt ở bất kỳ vị trí nào trên
template hoặc vị trí do người dùng tự định nghĩa. Ngoài ra một module có thể được nhân bản,
nghĩa là cùng lúc có thể xuất hiện tại một vị trí hoặc các vị trí khác nhau.
Hình 7: Module Facebook được đặt ở trang chủ

4.3. Plugin
Là thành phần mở rộng cung cấp một số chức năng ccộng thêm cho website. Plugins
khác với module và component ở đặc điểm người quản trị không cần quản lý nó thường
xuyên.
Hình 8: Menu giao diện quản lý Plugin từ trang quản trị
Trang 14
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
4.4. Templete
Joomla Template là một gói bao gồm các file PHP, HTML, CSS, JS (Javascript) và
các tấm hình, ảnh, biểu tượng, video, flash kèm theo tạo nên giao diện (bố cục và hình hài) của
website Joomla.
Hình 9: Quản lý Templete từ trang quản trị
4.5. Language
Joomla là mã nguồn mở hỗ trợ đa ngôn ngữ, sử dụng file định dạng “.ini” để lưu trữ
các thông tin chuyển đổi ngôn ngữ, nó 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. Bằng cách cài đặt một gói ngôn ngữ, có thể để quốc tế hóa Joomla sang
các ngôn ngữ khác nhau.
Trang 15
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG
1. GIỚI THIỆU VỀ CÔNG TY TNHH SMARTCARE.VN
- Smartcare.vn – hệ thống sửa chữa bảo hành máy tính xách tay và điện thoại, chính
thức đi vào hoạt động vào ngày 16/04/2012 tại Việt Nam, đã có bề dày gần 10 năm trong lĩnh
vực bảo hành máy tính xách tay và điện thoại di động cho Sony Ericsson (giờ là Sony Mobile)
Dell, Acer, HP, Lenovo…, Công ty smartcare.vn được biết đến là một hệ thống sửa chữa bảo
hành chuyên nghiệp các sản phẩm, giải pháp và dịch vụ máy tính và điện thoại di động.
- Ngày nay, máy tính xách tay và điện thoại di động là yếu tố không thể thiếu trong
việc phát triển kinh tế xã hội. Mỗi doanh nghiệp tồn tại đều có nhiệm vụ nhất định trong nền
kinh tế vĩ mô. Smartcare.vn là một đối tác tin cậy để cung cấp cho khách hàng những phương
pháp phù hợp về sản phẩm công nghệ và giải pháp hệ thống cùng với các dịch vụ chuyên

nghiệp, giúp cho công việc của Quý khách đạt hiệu quả cao nhất mà tốn ít chi phí nhất.
- Ngoài việc cung cấp những giải pháp, sản phẩm chất lượng, công ty smartcare.vn luôn đề cao
chế độ chăm sóc khách hàng và hỗ trợ khách hàng để người sử dụng được thật sự hài lòng.
- Mục tiêu của công ty smartcare.vn là xây dựng thương hiệu và mối quan hệ hợp tác lâu dài,
bền chặt với tất cả các khách hàng; Lợi ích của khách hàng là điều Smartcare.vn quan tâm
hàng đầu. Bằng việc hợp tác, chia sẻ những trở ngại của khách hàng, Smartcare.vn hy vọng có
thể giúp tất cả các khách hàng đạt được hiệu quả cao nhất cho nhu cầu của mình.
- Smartcare.vn là chuỗi hệ thống trực thuộc Công ty Trách Nhiệm Hữu Hạn Toàn Châu chuyên
sửa chữa bảo hành laptop và điện thoại di động
+ Tên đơn vị: Công ty TNHH Toàn Châu
+ Địa chỉ: 191 Nguyễn Thị Minh Khai, Phường Bến Thành, Quận 1, TP.Hồ Chí
Minh.
+ Mã số thuế: 0303309767
+ Giám đốc: Ông Lê Hoàng Phong
+ Tổng nhân sự: 50 người
+ Trụ sở chính: 171 đường Ba Tháng Hai, Quận 10, TP.Hồ Chí Minh
+ Tel: 08-39255281
+ Website: www.smartcare.vn
+ Email:
Trang 16
Front-End
Back-End
J
o
o
m
l
a
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
- Hoạt động chính của công ty

Tư vấn và cung cấp các dịch vụ sửa chữa bảo hành laptop và điện thoại di động
- Thành tựu và quan hệ đối tác
Phương châm kinh doanh của Smartcare.vn là đem đến cho khách hàng “ Giải pháp
tối ưu – Giá cả hợp lý – Dịch vụ hoàn hảo ” với phương châm làm việc đó công ty
Smartcare.vn đã tạo được lòng tin, uy tín và sự hài lòng của khách hàng trên thị trường.
- Trong suốt quá trình hoạt động, Smartcare đã thiết lập được mối quan hệ với các cửa hàng
trong thành phố và các tỉnh gần xa. Hơn thế nữa công ty là một trong những đối tác bảo hành
bền chặt với các thương hiệu nổi tiếng. Với đội ngủ kỹ sư và kỹ thuật viên lành nghề, chúng
tôi cam kết mang đến cho quý khách hàng những dịch vụ tốt nhất.
- Đến với Smartcare.vn - Bạn sẽ có được sự phục vụ tốt nhất: Tư vấn – Dịch vụ –
Sản Phẩm – Giải Pháp tối ưu trong chuyên nghành sửa chữa bảo hành laptop và điện thoại di
động.
2. KHẢO SÁT WEBSITE WWW.SMARTCARE.VN
2.1. Xác định chức năng hệ thống website www.smartcare.vn
Website www.smartcare.vn được xây dựng trên nền tảng mã nguồn mở Joomla 1.5,
đối với website này mang tính năng là một website bán hàng với các chức năng chính sau:
Quản lý danh mục sản phẩm, quản lý thông tin người dùng, quản lý menu, quản lý bài viết-
danh mục bài viết, quản lý giỏ hàng ( quản lý sản phẩm, quản lý danh mục sản phẩm, quản lý
dữ liệu (hình ảnh), quản lý ngôn ngữ (anh –việt), quản lý plug-in …
Giao diện trang website được thiết kế đơn giản với chức năng chủ yếu là thể hiện
thông tin về sản phẩm, mua hàng trực tuyến tại website.
2.2. Tính năng cung cấp cho người quản trị
Chức năng quản lý danh mục sản phẩm: là chức năng cho phép admin phân loại sản
phẩm theo các danh mục.
- Chức năng quản lý thông tin người dùng: là chức năng cho admin
- Chức năng quản lý menu: là chức năng cho người dùng
- Chức năng quản lý bài viết – danh mục bài viết:
- Chức năng quản lý giỏ hàng:
- Chức năng quản lý dữ liệu (hình ảnh): Tính năng này cho phép người
quản lý tùy ý tạo, xóa, đăng tải các hình ảnh.

- Quản lý plugin: Là thành phần mở rộng cung cấp một số chức năng cộng
thêm cho website. Plugins khác với module và component ở đặc điểm người quản trị
không cần quản lý nó thường xuyên.
2.3. Tính năng cung cấp cho người dùng
- Xem các hình ảnh, bài viết.
Trang 17
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
- Người dùng có thể thay đổi ngôn ngữ theo yêu cầu, ở đây trang web cung cấp cho
bạn 2 ngôn ngữ đó là Tiếng Anh và Tiếng Việt
- Có thể mua sản phẩm trực tuyến.
2.4. Đánh giá
Website www.smartcare.vn sử dụng mã nguồn mở Joomla 1.5, phiên bản này chưa hỗ
trợ tốt cho người dùng về SEO đây là điều quan trọng nhất, chưa hỗ trợ Unicode trong global
config, SEO Catalogy sẽ khó vì không thể chèn keywork và Description.
Các vị trí Module chưa thích hợp cho người thiết kế, các Module cũng không theo xu
hướng website thương mại điện tử hiện nay.
Trang 18
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Hình 10: Giao diện trang chủ website www.smartcare.vn
Trang 19
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG
1. YÊU CẦU HỆ THỐNG
Như đã đánh giá ở phần trên, chúng tôi mạnh dạng đề xuất xây dựng website bán
hàng mới với mã nguồn mở Joomla phiên bản 2.5.8.
Với Joomla phiên bản 2.5.8 hỗ trợ SEO tốt hơn, tối ưu hóa các từ khóa và khả năng
phân quyền sâu hơn.
2. CHỨC NĂNG HỆ THỐNG
2.1. Chức năng chính
Nhìn chung, website có các chức năng chính sau:

- Quản lý gian hàng ảo: là chức năng quản lý sản phẩm, danh mục sản
phẩm, đơn đặt hàng, phương thức thanh toán, quản lý người mua hàng, quản lý nhà sản
xuất.
- Chức năng quản lý dữ liệu: cho phép admin thực hiện quản lý, lưu trữ,
thêm, xóa hình ảnh, file dữ liệu.
- Chức năng quản lý bài viết: Cho phép quản trị website quản lý tin tức,
thêm, xóa, sửa, người truy cập có thể xem tin tức đã đăng.
- Chức năng quản lý thông tin người dùng: là chức năng dành cho admin
thực hiện thêm, xóa, sửa thông tin tài khoản của người dùng.
- Chức năng quản lý ngôn ngữ: là chức năng cho phép người quản trị có
thể thay đổi ngôn ngữ khi đăng nhập vào website.
- Website được xây dựng trên giao diện với màu sắc hài hoà, các chức năng
linh hoạt, bố cục các module thích hợp, vị trí module phải xuất hiện và thay đổi theo
các trang khác nhau. Đảm bảo việc truyền tải thông tin và quảng bá hình ảnh của công
ty.
Ngoài các chức năng chính trên, Webste sẽ cung cấp một số chức năng khác như là:
quản lý Templete, Plugin, Module, Component.
2.2. Chức năng quản lý gian hàng ảo
2.2.1. Phân tích yêu cầu
WebSite mang tính năng là một website bán hàng vì vậy yêu cầu trang web cần đặt ra
là tạo một gian hàng ảo để có thể đưa các sản phẩm lên website. Hiện tại, phiên bản Joomla
2.5.8 mặc định không tích hợp sẵn chức năng tạo gian hàng ảo.
2.2.2. Đề xuất giải pháp
Hiện nay, Joomla có số lượng thành phần mở rộng khổng lồ với hơn 7000 component,
module, plugin,…trong đó các component được cung cấp cho việc quản lý gian hàng ảo ( số
Trang 20
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
liệu được lấy từ trang ). Với yêu cầu như mục trên đã phân tích,
tôi xin đề xuất và chủ động áp dụng component VitueMart phiên bản 2.0.20b
Hình 11: Component VitueMart download

Virtuemart là một giải pháp thương mại điện tử mã nguồn mở được sử dụng cùng với
hệ quản trị nội dung (Content Management System - CMS) Joomla. Virtuemart cung cấp rất
nhiều chức năng phục vụ cho việc quản lý sản phẩm, danh mục sản phẩm, phương thức vận
chuyển, phương thức thanh toán và các phương thức trình diễn sản phẩm như: danh sách
danh mục sản phẩm, sản phẩm mới, sản phẩm topten, sản phẩm đặc biệt Chúng ta có thể tìm
hiểu thêm thông tin và download phiên bản mới nhất của Virtuemart tại địa chỉ:

Các module hỗ trợ component VitueMart
- VitueMart Catelogy
- VitueMart Manufacturers
- VitueMart Products
- VitueMart Shopping Cart
- VitueMart Currency Selector
- VitueMart Product Scroller
- VitueMart Seach product
2.3. Chức năng quản lý dữ liệu
Tính năng này cho phép người quản lý đăng tải các hình ảnh, các file văn bản của
công ty. Đồng thời cho phép người dùng xem các hình ảnh và file văn bản đó. Tất cả các file
hình ảnh, văn bản của web được tổ chức giống như windows và được tổ chức vào trong các
thư mục trên máy chủ. Thư mục này cho phép người quản trị tùy ý tạo, xóa.
2.4. Chức năng quản lý bài viết
2.4.1. Phân tích yêu cầu
Hiện nay, Joomla 2.5 mặc định đã tích hợp sẵn chức năng quản lý bài viết do content
đảm nhận. Tuy nhiên, Joomla 2.5 chưa hỗ trợ người quản trị chèn video vào trong bài viết.
Trong content bài viết được tổ chức theo mô hình phân cấp gồm 3 mức : Quản lý bài
viết (Article Manager), quản lý thể loại (Category Manager) và bài viết nổi bật (Featured
Article).
Trang 21
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Trang 22

Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
Các bài viết và thể loại được tạo và phân cấp bài viết như sau :
Hình 12: Sơ đồ phân cấp bài viết
+ Giới thiệu : nhóm tin này chứa các bài viết giới thiệu về công ty.
+ Tin tức : chứa các bài viết về tin tức công nghệ, khuyến mãi.
+ Dịch vụ : chứa các bài viết dịch vụ của công ty.
Hình 13 : Nhóm bài viết được tạo
2.4.2. Đề xuất giải pháp
Với yêu cầu như mục trên đã phân tích, tôi xin đề xuất và chủ động áp dụng Plugin
AllVideos phiên bản 4.5.0. Plugin này hỗ trợ người quản trị có thể đính kèm nhiều clip vào
trong bài viết.
Để cho website có thể gần gủi với khách hàng hơn, chúng tôi còn đề xuất thêm Plugin
Facebook-Twitter-Google+1, với Plugin này khách hàng có thể bình luận và chia sẻ bài viết
lên các trang mạng xã hội.
Hình 14: Giao diện bình luận và chia sẻ bài viết
Trang 23
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
3. PHÂN TÍCH HỆ THỐNG
3.1. Phần dành cho người dùng
- Sơ đồ phân rã chức năng
Hình 15: Sơ đồ phân rã chức năng người dùng
Trang 24
Xây dựng website bán hàng www.smartcare.vn Giáo viên HD: Trần Minh Thái
3.2. Phần dành cho Admin
- Sơ đồ chức năng phân rã
Hình 16: Sơ đồ chức năng phân rã cho admin
Đăng nhập
Trang chủ admin
Quản lý
người

mua
hàng, nhà
sản xuất,
phương
thức
thanh
toán
Quản
lý đơn
đặt
hàng
Quản
lý sản
phẩm
Quản

danh
mục
sản
phẩm
Quản lý gian hàng
ảo
Quản lý bài
viết
Quản lý thông
tin người dùng
Quản lý dữ
liệu
Trang 25

×